Agile Testing Framework
The Art of Automated Testing
www.AgileTestingFramework.com
About Dimitri Ponomareff
Dimitri Ponomareff (www.linkedin.com/in/dimka5) is a Coach. Whether...
Agenda
● Agile Methodologies
● Agile Testing Quadrant
● Quality
● Technical Debt
● The Testing Pyramid
● Driven Developmen...
Agile Methodologies
www.AgileTestingFramework.com
The Triple Constraint
Waterfall
Predictive Process
The plan creates cost and
schedule estimates
Constraints
Estimates
Scop...
5 Levels of Agile Planning
www.AgileTestingFramework.com
Agile Testing Touch Points
● Release Planning
○ Document dependencies
○ Write - End to end flow tests
○ Write - Workflow t...
Agile Testing Quadrant
Are we building the right product?
Are we building the product right?
Business Facing
Technology Fa...
Agile Testing Quadrant
Functional, Story &
Prototype Testing
Unit & Component
Testing
Business Facing
Technology Facing
Ex...
Agile Quality
QA is no longer the Sole
Quality Gatekeeper!
● QA may play new role
● Agile Quality requires new skills
● Fo...
Up front testing leads to lower costs and better quality
www.AgileTestingFramework.com
Test FirstTest First
Quality focus on Test first vs. Test last
Test First
Continuous Integration
Refactoring
Functional Te...
The whole team is responsible for quality
Business
● Product Owners / Product Manager
● Subject Matter Experts
Technology
...
Is incurred by not developing in the correct way...
Technical Debt
Like Financial Debt - is dangerous if the incurred
inte...
Two ways of doing things!
Technical Debt
Clean and smart way - takes
longer to implement but makes
change easier in the fu...
Technical Debt
http://blog.techdebt.org/interviews/156/interview-with-philippe-kruchten-on-technical-debt-rup-ubc-decision...
● Loss of Productivity
● Increase in Testing
● Postponed Releases
● Code Duplication
● Low Code Coverage
● Increase in Bug...
Continuous inspection with SonarQube
Managing 7 axes of code quality or preventing the Developers' 7 Deadly Sins
1. Potent...
The Testing Pyramid
Source: http://www.slideshare.net/nashjain/inverting-the-testing-pyramid
Traditional Agile
www.AgileTe...
The DDs...
FDD
FEATURE Driven Development
TDD
TEST Driven Development
BDD
BEHAVIOR Driven Development
www.AgileTestingFram...
FDD - Feature Driven Development
● Is a client-centric, architecture-centric, and pragmatic software
process
● Feature Bre...
TDD - Test Driven Development
Is a rapid cycle of testing, coding, and refactoring
● Relies on a very short development
cy...
BDD - Behavior Driven Development
● Outside-in and pull-based - Wire-frame > Test Cases > Coding
● Multiple-stakeholder, m...
TDD, BDD and automated testing...
TDDBDD
TDD invests in automated Unit tests.
BDD invests in automated Acceptance tests.
w...
BDD - User Story Traceability
ID: 27
STORY NAME: Save a list of potential cars for later review
As a: Buyer
I can: Add a c...
Agile Testing Framework (ATF)
www.AgileTestingFramework.com
Agile Testing Framework
Agile Planning Stage
● BDD Tests written in Agile Project Management Tool
www.AgileTestingFramewor...
Agile Testing Framework
Agile Implementation Stage
● BDD Tests Pulled/Run
● Data Driven/Functional Tests written
● Service...
Agile Testing Framework
Agile Regression / Release Stage
● Regression Tests - Selenium/BDD
● Performance Testing - Front E...
Agile Testing Framework
Agile Feedback Loop
● Technical Debt Management
● Quality Metrics
● Build Status
● Code Coverage -...
Agile Coaching, Staffing and Training.
Learn more at www.torak.com
Learn more at www.AgileTestingFramework.com
This presentation was inspired by the work of many people and we have done our very best to attribute all
authors of texts...
Upcoming SlideShare
Loading in...5
×

Agile Testing Framework - The Art of Automated Testing

7,366

Published on

Once your organization has successfully implemented Agile methodologies, there are two major areas that will require improvements: Continuous Integration and Automated Testing.

This presentation illustrates why it's important to invest in an Automated Testing Framework (ATF) to reduce technical debt, increase quality and accelerate time to market.

Learn more at www.agiletestingframework.com.

Published in: Technology
0 Comments
30 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,366
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
703
Comments
0
Likes
30
Embeds 0
No embeds

No notes for slide

Agile Testing Framework - The Art of Automated Testing

  1. 1. Agile Testing Framework The Art of Automated Testing
  2. 2. www.AgileTestingFramework.com About Dimitri Ponomareff Dimitri Ponomareff (www.linkedin.com/in/dimka5) is a Coach. Whether it's a sports team, software products or entire organizations, Dimitri has that ability to relate and energize people. He is consistently recognized as a very passionate and successful change agent, with an overwhelming capacity to motivate and mobilize teams on their path to continuous improvements. He is a master facilitator, as well as a captivating speaker with consistent, positive feedback regarding his ability to engage an audience. As a certified Coach, Project Manager and Facilitator of "The 7 Habits of Highly Effective People", Dimitri brings a full spectrum of knowledge in his delivery of methodologies. Through teaching by example, he is able to build teams of people who understand where to focus their work to generate the most value. He has coached and provided tailor-made services and training for a multitude of organizations. The short list includes, American Express, Charles Schwab, Bank of America, Morgan Stanley, Choice Hotels International, JDA Software, LifeLock, First Solar, Mayo Clinic and Phoenix Children's Hospital. Dimitri enjoys his work, and does everything to ensure he shares his knowledge with others who seek it.
  3. 3. Agenda ● Agile Methodologies ● Agile Testing Quadrant ● Quality ● Technical Debt ● The Testing Pyramid ● Driven Development ○ FDD ○ TDD ○ BDD ● Agile Testing Framework www.AgileTestingFramework.com
  4. 4. Agile Methodologies www.AgileTestingFramework.com
  5. 5. The Triple Constraint Waterfall Predictive Process The plan creates cost and schedule estimates Constraints Estimates Scope (requirements) Cost Time Plan Driven Agile Adaptive Process The vision creates feature estimates Cost Time Scope (features) Value Driven When it doesn’t fit in Agile, we cut Scope, not Quality! www.AgileTestingFramework.com
  6. 6. 5 Levels of Agile Planning www.AgileTestingFramework.com
  7. 7. Agile Testing Touch Points ● Release Planning ○ Document dependencies ○ Write - End to end flow tests ○ Write - Workflow tests ○ Write - Integration tests ○ ● Release Testing ○ Run - End to end flow tests ○ Run - Workflow tests ○ Run - Integration tests ○ Run - Performance and security tests ● Iteration Planning ○ Review - Acceptance criteria ● Iteration Testing ○ Write/Run - Acceptance tests ○ Write/Run - Unit tests ○ Write/Run - Component tests www.AgileTestingFramework.com
  8. 8. Agile Testing Quadrant Are we building the right product? Are we building the product right? Business Facing Technology Facing www.AgileTestingFramework.com
  9. 9. Agile Testing Quadrant Functional, Story & Prototype Testing Unit & Component Testing Business Facing Technology Facing Exploratory & Usability Testing Performance, Load & Security Testing CritiqueProduct SupportingtheTeam www.AgileTestingFramework.com
  10. 10. Agile Quality QA is no longer the Sole Quality Gatekeeper! ● QA may play new role ● Agile Quality requires new skills ● Focuses on Prevention instead of Detection ● Testing role may be done by others ● Testing done upfront ● Automation plays a bigger role ● Focuses on xUnit testing www.AgileTestingFramework.com
  11. 11. Up front testing leads to lower costs and better quality www.AgileTestingFramework.com
  12. 12. Test FirstTest First Quality focus on Test first vs. Test last Test First Continuous Integration Refactoring Functional Testing Performance Testing www.AgileTestingFramework.com
  13. 13. The whole team is responsible for quality Business ● Product Owners / Product Manager ● Subject Matter Experts Technology ● Architects ● Database Administrators ● User Experience Designers ● Operations/Support team members Team ● Developers ● Testers ● Business Analysts www.AgileTestingFramework.com
  14. 14. Is incurred by not developing in the correct way... Technical Debt Like Financial Debt - is dangerous if the incurred interest and the debt itself are not payed... www.AgileTestingFramework.com
  15. 15. Two ways of doing things! Technical Debt Clean and smart way - takes longer to implement but makes change easier in the future Quick and dirty way - get your features sooner, but make the future changes very hard www.AgileTestingFramework.com
  16. 16. Technical Debt http://blog.techdebt.org/interviews/156/interview-with-philippe-kruchten-on-technical-debt-rup-ubc-decision-process-architecture “Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite... The danger occurs when the debt is not repaid. Every minute spent on not- quite-right code counts as interest on that debt.” Ward Cunningham (1992-03-26). "The WyCash Portfolio Management System". www.AgileTestingFramework.com
  17. 17. ● Loss of Productivity ● Increase in Testing ● Postponed Releases ● Code Duplication ● Low Code Coverage ● Increase in Bugs ● Unreadable Code ● Decreased Velocity ● Using Old Libraries ● Heavy Stress on Approaching Deadlines ● Being Scared of Changing Anything ● Evil Hacks Wrong Design ● Wrong Choice of Technology Symptoms of Technical Debt www.AgileTestingFramework.com
  18. 18. Continuous inspection with SonarQube Managing 7 axes of code quality or preventing the Developers' 7 Deadly Sins 1. Potential Bugs 2. No Coding Standards 3. Duplications 4. Lack of Unit Tests 5. Bad Distribution of Complexity 6. Spaghetti Design 7. Not Enough or Too Many Comments Strategic Design 1. Strategic debt intentionally accumulated in a project. 2. Conscious, proactive decisions with larger short term benefits. 3. Focuses on architectural and/or business trade-offs. 4. Forgo’s extensive architecture for increased speed to market or reduced overhead Agile Engineering Practices Pair Programming, TDD, Continuous Integration, Automated Unit Tests, Automated Functional Tests, Automated Other Tests(Regression), Refactoring, Clear Definition of Done Fixing the Technical Debt www.AgileTestingFramework.com
  19. 19. The Testing Pyramid Source: http://www.slideshare.net/nashjain/inverting-the-testing-pyramid Traditional Agile www.AgileTestingFramework.com
  20. 20. The DDs... FDD FEATURE Driven Development TDD TEST Driven Development BDD BEHAVIOR Driven Development www.AgileTestingFramework.com
  21. 21. FDD - Feature Driven Development ● Is a client-centric, architecture-centric, and pragmatic software process ● Feature Breakdown Structure (FBS) instead of WBS ● A feature is a small, client-valued function expressed in the form: <action> the <result> by/for/of/to a <object> www.AgileTestingFramework.com
  22. 22. TDD - Test Driven Development Is a rapid cycle of testing, coding, and refactoring ● Relies on a very short development cycle ● Developer writes automated test case first ● Test case defines desired improvement or new function ● Next develops minimum amount of code to pass test ● Lastly refactors the new code to acceptable standards Code refactoring is a "disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior" www.AgileTestingFramework.com
  23. 23. BDD - Behavior Driven Development ● Outside-in and pull-based - Wire-frame > Test Cases > Coding ● Multiple-stakeholder, multiple-scale, high-automation ● Describes a cycle of interactions with well-defined outputs ● Results in the delivery of working, tested software that matters www.AgileTestingFramework.com
  24. 24. TDD, BDD and automated testing... TDDBDD TDD invests in automated Unit tests. BDD invests in automated Acceptance tests. www.AgileTestingFramework.com
  25. 25. BDD - User Story Traceability ID: 27 STORY NAME: Save a list of potential cars for later review As a: Buyer I can: Add a car to my wish list So that: I can review my top choices at a later time. Acceptance Criteria Scenario 27.1: Add a car to my wish list Given: A potential buyer is logged in And: The car is available for sale When: The ‘Add to Favorites’ option appears And: A buyer flags the car for the wish list Then: The car details are displayed in the wish list Scenario 27.2: Review list of favorite cars Given: A potential buyer is logged in Given: A potential buyer has previously picked some favorite cars’ And: A buyer clicks on “view my favorites’ When: The buyer views the wish list And: The car is still available for sale Then: The buyer can view the car summary in the wish list Story As a <role>, I can <activity>, so that <business value> Scenarios Given <context> When <event> Then <outcome> www.AgileTestingFramework.com
  26. 26. Agile Testing Framework (ATF) www.AgileTestingFramework.com
  27. 27. Agile Testing Framework Agile Planning Stage ● BDD Tests written in Agile Project Management Tool www.AgileTestingFramework.com
  28. 28. Agile Testing Framework Agile Implementation Stage ● BDD Tests Pulled/Run ● Data Driven/Functional Tests written ● Services Tests Run ● CI process run ● Quality, Build Status, Test Results Reported www.AgileTestingFramework.com
  29. 29. Agile Testing Framework Agile Regression / Release Stage ● Regression Tests - Selenium/BDD ● Performance Testing - Front End/JVM/Load ● Security Testing ● Web Accessibility Testing ● Web Consistency Testing www.AgileTestingFramework.com
  30. 30. Agile Testing Framework Agile Feedback Loop ● Technical Debt Management ● Quality Metrics ● Build Status ● Code Coverage - Unit/Functional ● Test Results ● Code Reviews www.AgileTestingFramework.com
  31. 31. Agile Coaching, Staffing and Training. Learn more at www.torak.com Learn more at www.AgileTestingFramework.com
  32. 32. This presentation was inspired by the work of many people and we have done our very best to attribute all authors of texts and images, and recognize any copyrights. If you think that anything in this presentation should be changed, added or removed, please contact us. http://creativecommons.org/licenses/by-nc-nd/3.0/ www.AgileTestingFramework.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×