What I Learned While Moving From Waterfall To Agile Testing? | LambdaTest

Image for post
Image for post

I still remember the day when our delivery manager announced that from the next phase, the project is going to be Agile. After attending some training and doing some online research, I realized that as a traditional tester, moving from Waterfall to agile testing team is one of the best learning experience to boost my career. Testing in Agile, there were certain challenges, my roles and responsibilities increased a lot, workplace demanded for a pace which was never seen before. Apart from helping me to learn automation tools as well as improving my domain and business knowledge, it helped me get close to the team and participate actively in product creation. Here I will be sharing everything I learned as a traditional tester moving from Waterfall to Agile.

How Testing In Agile Is Different From Traditional Testing?

Image for post
Image for post

Basic Ideology

How the Process Works?

However, while testing In Agile, development & testing are incorporated in every phase. Testers work along with developers at every sprint and since it demands faster delivery, manual testing is replaced in many scenarios by automation testing.

How The Team Works?

Agile, on the other hand, is highly dependent upon he communication across everyone onboard in the project. Acceptance criteria are defined in the user stories and thus, acceptance testing is done by the testers. Testers have to be skilled in multiple domains apart from only manual or automation testing. Here are top 17 skills of highly effective software testers.

How The Software Release Becomes A Success?

Image for post
Image for post

In Agile, constant feedback is provided and demos are scheduled with the stakeholders, reducing the scope of any critical dependencies when the deadline gets closer.

What I found Out When I Started Testing In Agile?

Daily Standup Meetings

  • A standup meeting usually takes place for 15 to 30 minute every morning.
  • The duration varies based on team size.
  • Each team member is asked 3 questions
  • What did you do on the previous day?
  • What will you do on the current day?
  • Are there any roadblocks blocking your deliverables?
  • Participates include the entire team, including the stakeholder and the scrum master.
  • The main objective of the meeting is to get a clarity of the entire team’s progress as well as to eliminate any hurdles.
  • To resolve any hurdles, the scrum master must take responsibility. If it is outside his scope, he should ensure that someone else must take responsibility.
Image for post
Image for post

Testing Procedure Was Divided Into 4 Quadrants

Quadrant 1

  • Unit testing to check whether a piece of code satisfies the requirement.
  • Testing of component architecture to ensure that they work when combined together.

Quadrant 2

Quadrant 3

Quadrant 4

  • Testing the infrastructure and data migration
  • Testing load and scalability
  • Testing the infrastructure
  • Performance and stress testing
  • Security testing for ensuring authentication and preventive measures for hacking.

Strategizing Is Key For Testing In Agile

Iteration 0

  • A business case is established
  • Requirements are analyzed and use cases are created.
  • Risks analysis is concluded
  • A preliminary project is prepared after calculating the cost estimation.

Development Phase

  • In each sprint, the team implements Agile modeling, Scrum, Agile data and other Agile practices.
  • Requirements are sorted according to priority and the team executes the most prioritized testing in each sprint.
  • Testing is done in 2 phases. Developer testing which is done by the developers once they finish coding. They verify service integration testing and unit testing. Agile acceptance testing is carried out by the testers.
  • In Agile acceptance testing, not only the testing team of the project but also testing team from the stakeholders execute the test cases together.

Product Deployment

  • Training the end users
  • Back up the data
  • Marketing the release
  • Documentation of the finalized user and system document.

Production Support

  • Regular testing is carried out in case there is an addition of any new module.
  • In case of any bug or user queries, the issue is handled by the production support team.

Becoming A Part Of The SDLC From The Beginning Is Integral For Testing In Agile

  • Requirement gathering phase, before the client, delivered the final software requirement specifications. Once that was delivered, we had to analyze the requirements and contact the stakeholder or the BA in case of any doubt.
  • After the completion of the development phase. We had to test the modules and report the bugs in a QA tool.

The main disadvantage of this was improper collaboration & narrow test windows.

  • There was no collaboration or proper communication among developers and testers. Testers were some guys whose job was to find errors in the hard work done by the developers.
  • Testers were not given any proper time frame. If the development team extended their deadline, testers had to reduce theirs and skip some important testing phases.

Testing in Agile, however, demands testers and developers to work together since the very beginning and both have to do partial work of one another.

Step Up With Automation To Speed Up Testing In Agile

This leads us to learn new tools like Selenium, UFT, Appium etc. The testers also have to learn CI/CD tools like GitLab, Jenkins, Codeship, and others to stay ahead in the industry. This made me realize that as I was moving from Waterfall to Agile, testing became more challenging giving me a chance to hone my skills as a tester.

Better Understanding Of The Business Logic

For creating fewer test cases that have more coverage, testers eventually need to have a clear idea of the business logic. That requires timely discussion with developers and business analysts, reading the specs and playing with the application as well. Eventually, this increases not only their technical knowledge but also their knowledge of domain and business.

Prerequisites Before Moving From Waterfall To Agile Testing

Automation Tools

Also. unit testing and BDD testing tools like JUnit, Pytest, JBehave, Cucumber, etc.

Project Management Tools

Cross Browser Testing Is Pivotal For Handling Browser Differences

However, there are cloud-based browser compatibility testing tools like LambdaTest using which you can perform your testing across 2000+ real browsers running on various devices. LambdaTest also offers Selenium based automation testing through their on-cloud Selenium Grid to help you maximize your test coverage of your application across hundreds of browser-device-OS combinations.

Challenges Which I Faced During Agile Testing

Learning The Programming Languages & Development Procedure

Small Deadline

Frequent Changes in Requirement

Let’s suppose a website is being developed and interactive navigation is created according to the requirement. However, when the demo is scheduled, the stakeholder says that it does not look good and they want a parallax powered navigation. In that case, the development team has to spend some extra hours in creating the navigation system and the testers have to test it. Ultimately leading to waste of their previous efforts.

Seamless Coordination

Conclusion

Originally published at LambdaTest

Author Arnab Roy Chowdhury

Image for post
Image for post

Written by

Product Growth at @lambdatesting (www.lambdatest.com)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store