In this fast changing world, software projects using agile methodology for the delivery are becoming common. Agile software development is all about developing working increments of the software and releasing it. Agile testing is a software testing practice that follows the principles of Agile Software Development. In this read up I have covered some of the major challenges the agile testing team is facing
- Constantly changing requirements - Although agile testing welcomes last minute changes to the application, however, at times it becomes difficult for the testers to accommodate the changes, especially with the deadline is approaching and when it cannot be postponed.
- Lack of Detailed requirements while sprint planning
- Inconsistent or Inadequate unit testing.
- Lack of focussed testing - There are many things which require testers time. Some of the things we need to work on are - discuss stories of the current sprint with developers and BAs, keep an eye on broken build, work with product owner for the demo, help developers with test data, environment set-up for unit testing, integration test, take care of non-functional testing when needed, test automation, support prod release, test in different environments and so on.
- Testing always under time constraint. - Hey tester, we want to ship this product by this weekend, are you ready for completion? When this order comes from boss, tester simply focuses on task completion and not on the test coverage and quality of work. There is huge list of tasks that you need to complete within specified time. This includes writing, executing, automating and reviewing the test cases.
- Which tests to execute first? - If you are facing the challenge stated in above point, then how will you take decision which test cases should be executed and with what priority? Which tests are important over others? This requires good experience to work under pressure.
- Broken Code and build issues. - Another major challenge faced by testers is the code accidentally broken due to frequent builds. Code is changed and compiled on a daily basis and there are high chances for the codes to break.
- Regression testing. - On adding new features to the Product, regression testing will be uncontrolled. Pressure to handle the current functionality changes, previous working functionality checks and bug tracking.
- Agile focuses on working software not comprehensive documentation - Unavailability of updated documents for reference
- Lack of Communication and continuous collaboration between the team members
- Environmental differences and third party issues
- Lack of Customer centric testing.
- Testing the complete application with different combinations.- Just to validate simple login scenario we will get four combinations to test. Just imagine if you have some 10 pages with different functionalities how many combinations we have to test.
- Challenges faced with automation tool. - If the chosen automation tool does not meet their requirements then it would be really painful and instead of automating features, team should spend in understanding the problem and fixing the problem.
- Too many meetings. - Daily Scrum, Sprint review, Sprint Planning, Sprint Retrospective, QA Planning, Release Retrospective
Looks like you are in the initial stage of adopting Agile. These are the typical issues that any scrum team faces when they start adopting agile. It requires coaching and hand-holding. First and foremost thing is to discuss these issues in team retrospective and agree on the solutions to overcome them
ReplyDeleteAwesome blog! I am really impressed by this blog! The pictures are really nice and cool
ReplyDeleteagile software development