Software QA in Scrum

Dmitri Kozlov
5 min readMay 12, 2022
Photo by Parabol on Unsplash

I worked in software quality assurance using waterfall method for 19 years.

I have never worked in a Scrum environment.

I am seeing job postings referring to agile scrum approach with 2-week sprint releases.

About Scrum
The scrum is a software development approach designed to release new software changes on a more frequent basis compared to waterfall approach with less frequency. The Scrum master holds daily ceremonies more like status update meetings and decides what to include in a two-week sprint release. The scrum approach applies to everyone on a software development team.

User Stories on a Scrum Team
On a scrum team, software developers and the QA team relies on user stories to code changes and verify expected behavior. The user stories are not exact changes like waterfall specification document but more like what the team needs to accomplish as a single task. Different software development teams have different approaches to write a specification document.

The worst approach is when there is no specification document and the specification document contains “not exact” way of telling developers and QA how a software change will work. This approach is always error-prone and it will cause a dozens of issues down the road.

What a software development team can realistically accomplish in two weeks?
From my prior experience being part of a software team, a two-week release cycle is just enough to fix a small issue or make a minor change, depending on how complex the change is. It takes at least a month or more to produce something substantial like major screen changes or major changes to a functionality. The above statements are not my personal opinion but rather actual past experience that our software development team encountered in the past.

What QA team is expected to test in two weeks?
From a QA perspective, it is realistic to test the major components of entire system in two weeks, depending on how complex the changes are and how big the system is. In the two-week sprint cycle, QA team need to test new changes and perform the entire system regression testing. If a QA team found a bug, then the software development team needs to fix the bug and the QA team needs to retest the bug fix. If a specification document was updated and the software development completed the new code changes, then the QA team is expected to test the new changes in addition to outstanding bugs and regression testing.

Why some people do not like Scrum?

I think it depends on how a specific team implements the scrum approach.

When the scrum is done wrong just like waterfall, then the scrum or waterfall fails.

It should be a project manager’s role to make the scrum or waterfall approach done right.

Does Scrum rely more on automation testing than manual testing?

I think the answer is Yes after looking into a dozens of job postings.

Scrum means more frequent and faster releases compared to Waterfall.

Is manual testing totally abandoned in Scrum?

The answer is No. There is manual testing involved in scrum.

Does a Scrum team have both manual and automated testers?

I think this depends on a particular company. There are companies that have separate roles for manual and automated testers while there are companies that only have automated testers.

What are Benefits and Drawbacks of Automation Testing?

Benefit of Automation testing: Automation testing is necessary to quickly check the most common scenarios behavior in a software program.

Drawbacks of Automation testing:
1. Creating automation script using tools like Selenium requires advanced programming skills and it takes a substantial amount of time and effort to create a test automation framework and maintain it.
2. Automation scripts will not help to find tricky or hard to reproduce bugs which is what QA team is responsible for.
3. Automation scripts will cover basic, most direct route software behavior logic. Therefore, the QA team is not doing comprehensive testing running automation scripts only.
4. Automation scripts will need to be updated each time a functionality changes.
5. Depending on automation technology selected, the QA team needs to check how automation script runs and the script does not fail for a variety of reasons.
6. With automation testing, software development team pretty much waits for the entire automation script to finish running although it is possible to skip some automated test cases using the appropriate keywords in a test library.

Benefits of manual testing:
1. Manual testing is very well planned and organized way to check software quality in a most comprehensive way.
2. The QA team will cover more test routes and uncover more or less hidden areas in a software program compared to automation testing.
3. Software development needs step by step instructions to find and fix the cause of a software bug.
4. Automation testing rely on manual test plan steps to create automation scripts.
5. Manual testing is a lot more flexible when it comes to make a decision what tests to skip or include in testing cycle.
6. There are areas in a functionality that does not make sense to automate or not possible to automate. Here manual testing becomes the main test strategy.

Drawbacks of Manual Testing:
1. It takes time and effort to carefully review and understand new software changes.
2. It takes time and testing research to write a very comprehensive test plan.
3. The manual test plan needs to be revised each time there is a change in specification or what will be implemented.
4. For both automation and manual testing, the QA team needs to setup a software program parameters from scratch for each major test. These parameters will be used over and over until it will be necessary to make changes to parameters based on the new functionality added later on.

In conclusion: Each software development approach like Waterfall and Scrum have pluses and minuses. The concept of one fits all will not work in either approach. Each approach should be implemented using a good judgement, sound experience, and having a long-term customer-oriented view.

Thank You For Reading,

--

--

Dmitri Kozlov

Senior Software QA Analyst — 19 yrs experience (B.A. Mathematics Temple University 1998)