Discuss Agile Testing – Past, Present and Future. All views are personal and do not indicate any official line.The testing world as looked upon in three phases / three chapters.
Let’s look at the Chapter 1 -PAST state of Agile Testing
PM: So here is the project management plan we’ll follow and I’ve assigned work to everyone.Test Team: I understand that the developers will take atleast three months to complete development so we’ll Enjoy – I mean create test plans, test cases etc from the requirements which are too wague to develop. PM - Gives the 6 Months Project Plan to the team, Requirements - BIG RequirementsFew requriements are important, Few are critical, Few are important for competition. And few are given by CEO, and we have assigned work to all the test team members. Let’s quickly start implementing and testing now!
So what is our STATUS ?Test Team: 3 months – System test shows the Test Plans written down, but when they started testing, things are not working.Though the project is in terrible stage But because of thefear factor, tester gives wrong status to PM. And at this time, Project manager understands that EVERY THING IS OK.1 week before release - All good on Status, except that the Integration tests are broken.Looks like we will need 2 more months to fix and test the integration of all the components now.Release delayed by 2 months !!! PM: FINALLY THE RELEASE IS DONE.Heroics: Release Party, Release award to the testers working on weekends, though theRelease is late by two months because of integration bugs..1 week AFTER release – PM: Customer issues \\ Escalations everywhere -- BUT We had 100% test pass so what happened?Tester – My 100% test cases passing but I am missing the customer workflow. MYAppraisal – says that I must execute and pass my test cases.
GOAL : Testing team = FIND BUGS !! QUALITY **CONTROL**RESULT = LATE \\ EXCEED BUDGET Business - So we are going to make a lot of money on the UPGRADES to fix these bugs now
Chapter 2 – Present state of Agile Testing
Tester - 9 out of 10 projects are going through the similar issues so management has announced that we are doing Agile.I have also heard that Agile can do miracles for us.PM – is it Agile / Fragile ?Tester - I've head that in Agile there are no PM. Then what will you do?PM: I can be a SM/PO and why not Both?PM to Test: I heard that in Agile Testers do development also and do BA too.. Are you ready?Ok – here is your Prioritized req’s = 2 weeks sprint and 80 points velocity
We are in weekly sprint reviews now.Tester - Stories are not completed because of lack of testing. Got the build on last day. So cannot complete testing. I need another 2 sprints to write the automation for the tests as the User interface is still changing. I cannot write the Silk Test, and cannot run any performance and security tests till the system has stabilized.
Story after 6 builds… So we are rushing at the end of every sprint, and have too many stories to test.The automation tests still take a long time to run and I am unable to test the integration still !PM to Tester: How did you test?Tester: QTP ofcourseManager: Did you not cover the 4 quadrants and Agile PyramidTester: What is that?PM: Show me the Metrics
Tester – This is how my current test cases look like with maximum GUI test casesPM: Do you know the ROI for Testing? Let us see the ROI now.
PM - So the Unit tests provide the maximum ROI, while the end to end tests provide the least ROI. Tester – I did not know that. What about the Agile testing pyramid ?
This is the Agile test pyramid, where the Unit tests should provide the maximum protection and safety. The Acceptance tests are below the User Interface layer and cover all the business logic and decisions.GUI Tests are covering the customer journeys mostly and are minimal in nature as compared to the Acceptance and Unit tests.
The Agile Test quadrant identifies the additional tests which we should perform in our project to cover all scenarios.
GOAL = Business Value Delivery RESULT= We are still struggling ! WE ARE DOING AGILE now !And Testing has become a 1st class citizen now,but still unable to deliver to the potential !
Chapter 3 – Agile Testing Future
Here’s a little story - As I was passing the elephants, I suddenly stopped,confused by the fact that these huge creatures werebeing held by only a small rope tied to their frontleg. No chains, no cages. It was obvious that theelephants could, at anytime, break away from the ropesthey were tied to but for some reason, they did not.I saw a trainer near by and asked why these beautiful,magnificent animals just stood there and made noattempt to get away."Well," he said, "when they are very young and muchsmaller we use the same size rope to tie them and, atthat age, it's enough to hold them. As they grow up,they are conditioned to believe they cannot breakaway. They believe the rope can still hold them, sothey never try to break free."I was amazed. These animals could at any time breakfree from their bonds but because they believed theycouldn't, they were stuck right where they were.Like the elephants, how many of us go through lifehanging onto a belief that we cannot do something,simply because we failed at it once before?
Either we could buy this great book and become a Genius or learn to have an Agile\\Lean mindset
Let’s look at the Agile mindset v\\s Fixed mindset. Agile mindset – can grow, is ready to learn, can embrace challenges, and is resilient and looks towards achieving mastery.The Fixed mindset can be changed to become an Agile mindset.
The Lean mindset wants you to discover both sides of the different paradoxes.
How much time do we spend in our daily DELIVERY activities versus how much do we EXPLORE ?In Retro: What all things we need to improve.You can search and do it all yourself or look outside.Let’s lookat the latest Tech radar and see if we can explore new tools language to suit our needs..
The world is running FAST and things are constantly changing ! Even in the software industry the development cycles have been shortening with the final goal of giving quick FEEDBACK !As you can see that we had Waterfall development in years and today we are having Continuous delivery in hours, the feedback cycle have become smaller and smaller. Let’s look at a sample Continuous Integration cycle.
The sample Continuous integration cycle, covers the complete SDLC cycle from writing source code to unit testing to install and deploy and running the system integration tests and reporting the results.
The Continuous Deployment cycle includes deploying the softwares through multiple deployment stages and running tests at each stage.Thus we need to practice CONTINUOUS TESTING, as part of the desire to be able to shorten the feedback cycle !
From Lean Thinking – we need to reduce the WASTES in our software testing process.We do have tests which are never run, test failing due to script errors, complex tests, long running tests …..all different forms of waste which need to be reduced !!
Reducing Waste at each stage of the Test design, implementation, running and validating the results need to be reviewed to achieve our goal of FAST FEEDBACK cycles.
Customer: OK WHAT TOOLS ARE YOU USING: Refer this illustrative example set for the tools and the different test layers.Choose among the right set of tools - Light weight, Open Source, Vendor tie up OR Home grown framework ??
So do we need to now Know the STATUS or is it displayed on the DASHBOARD ?So what has changed now ?Developer didn’t write the code correctly–Write Unit TestsDeveloper misunderstood what the customer wanted–Specify acceptance tests earlyCustomer realized later that they mis-spoke the requirement–Specify acceptance tests earlyCustomer spoke it properly, but realized they asked for the wrong thing once they saw what was delivered–Don’t take a long time to show customers what you’ve doneCustomer spoke it properly, realized they got what they originally wanted, but they now have a better idea–Don’t take a long time to show customers what you’ve doneTester and Customer: Get into meeting with customer to understand features . They discuss on requirements, pain points, work flows, Personas etc. Possibly use ROBOTFRAMEWORK: Integration test using ROBOT Framework. We are integrating our system with Customers' system. They now understand the real customers. Let us put the requirements along with Customers as acceptance test in Cucumber—BDD
GOAL = Business Value Delivery RESULT= We are BEING AGILE!