How do you build test cases vs user stories/features vs requirements?
What is your test strategy in agile development model?
What is automation test strategy in agile development model?
-
2"The value of any practice depends on its context" context-driven-testing.com | Your questions are highly related to the context. There is no such thing as the "agile development model" (something reproducible); the Agile Manifesto itself talks about self-organization and context-based decision-making. Your questions should be preceded by context description.– João FariasCommented Jun 3, 2020 at 20:21
2 Answers
Q. How do you build test cases vs user stories/features vs requirements?
A. Use BDD tools such as Cucumber which will give you living documentation as code.
Q. What is your test strategy in (an) agile development model?
A. We follow the agile testing pyramid and agile testing quadrants (google for more). and automation developers talk to application developers throughout the day.
Q. What is (the) automation test strategy in (an) agile development model?
A. In agile the automation test strategy is the agile test pyramid with fully stubbed unit tests, unstubbed integration and API tests and a small amount of UI tests. In agile the purpose of tests is feedback to the development process and this is a huge shift from the traditional 'qa as a checking, validation, "isn't broken"` model.
Just to add the points mention,
The strategy should also consider project factors like,
- What's the automation engineer to Developer ratios
- How many test automation resource you have
- What is the sprint size and how often is released planned
Having an abstract level like BDD will be a bottleneck when you just have 1 QA and 6-7 developer ratio as the feature being delivered by dev team would be huge.
Test development is a full-time process if you want to do it efficiently, the initial road towards BDD will be hard and everyone in the team needs to adapt to that. But it would be easy once you get hang of it
So for a simple framework without BDD abstract, i would use below strategy :
1. How do you build test cases vs user stories/features vs requirements?
use tags, add user story or feature ID to automation test names
2. What is your test strategy in agile development model?
Shift testing to left and add to the automated pipeline. Create more unit tests, API test and UI test.
When you see the test pyramid, it might look like we need more test in the unit test and less in UI.
But I would disagree with this, I would like to see test pyramid more like from a coverage perspective.
Because as an example, just because an API endpoint works fine, we cannot skip UI test for that as we cannot guarantee that the UI will consume and render the result as it supposes to be.
So it would be more recommended to see as coverage were, unit test can ensure more test coverage for components . API for services etc. UI even if we have 1000 tests there will many factors that might still miss like, UX, accessibility, visual regression etc.
3. What is automation test strategy in agile development model?
Automation test strategy is: https://www.smartsheet.com/comprehensive-guide-values-principles-agile-manifesto
- Individuals and Interactions Over Processes and Tools The first value in the Agile Manifesto is “Individuals and interactions over processes and tools.” Valuing people more highly than processes or tools is easy to understand because it is the people who respond to business needs and drive the development process. If the process or the tools drive development, the team is less responsive to change and less likely to meet customer needs. Communication is an example of the difference between valuing individuals versus process. In the case of individuals, communication is fluid and happens when a need arises. In the case of a process, communication is scheduled and requires specific content.
To discuss, research and identify the best tools and process your team needs to do work efficiently. Just because the product is being developed in .net, or javascript or java don't use that tools for automation.
Research and find benefits and set up overhead for all tools and finalise best individuals and tools that can get your work done.