Story Testing Approach for Enterprise Applications using Selenium Framework

Preview:

DESCRIPTION

Releasing a big software product frequently on the same high quality level could became an impossible task. Story Testing approach gives a possibility for many teams to work for a same product and release it without putting enormous efforts on testing. Approach is based on the BDD technique, Feature Flags and Selenium.

Citation preview

Story Testing Approach for Enterprise Applications using

Selenium Framework

Oleksiy Rezchykov

February 2011

Plan

•About me

•The Problem

•Solution

•Conclusion

•Q&A

About me

• Oleksiy Rezchykov

• Java Software Engineer

• Team Lead

• Agile & Lean enthusiast

• Lohika Systems

The Problem

To release a BIG product

What is a BIG product?

Several platforms

What is a BIG product?

Multiple distributed teams

What is a BIG product?

• Different processes (Iterative and not)

What is a BIG product?

Dozens of features

What is a BIG product?

One codeline

What is a BIG product?

Releases every 2-3 weeks

How the features usually are released

Implemented

Tested

Bugs fixed after the test

Tested after fix

And … Regression

Integration with the trunk

Tested

Bugs fixed after the test

Tested after fix

And … Regression

The release branch is created

Tested

Bugs fixed after the test

Tested after fix

And … Regression

The Problem : Summary

Activity Performed (# times)

Tested 5

Bugfix 3

Regression 3

Solution : At low level

• Automated frontend tests using Selenium RC

• PageObject pattern for Selenium infrastructure

• BDD Tool (Concordion)

• TestNG

Solution : At low level

Solution : At low level

Solution : At low level

Solution : At low level

Solution : At low level

Solution : Overview

TestNG suite

Concordion

scenario

PageObject

methods

Selenium Driver

Selenium RC server

Solution : Process level

• Continuous Integration Server

Solution : Process level

• REST API called StoryTest Set-Up

PageObject

SetUp Page

Object

REST API Resource

Solution : Process level

• REST API called StoryTest Set-Up

Solution : Overview

CI job

Maven goal

TestNG suite

Concordion

scenario

PageObject

methods

Selenium Driver

Selenium RC server

Solution : Process level

• Feature Flags

Solution : Process level

• Regression suite is formed using previous release StoryTests

Solution : Process level

• No testers only QA

Developer + Tester = PD

Conclusion

Selenium is a powerful tool – learn to use it.

Conclusion

Let it be the part of your process

Contacts

arezchikov

orezchykov@lohika.comalex.mcgray@gmail.com

http://ua.linkedin.com/in/arezchikov

Q&A

???

Recommended