story testing approach for enterprise applications using selenium framework
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.TRANSCRIPT
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
Q&A
???