March 5th, 2015 by inflectra
Requirements authors with a background in traditional ‘shall’ statement-style requirements are likely to be familiar with the need to write requirements that are testable. When requirements are not testable they usually get thrown back from test-engineers and sometimes even from software engineers who have a broad project view. Un-testable requirements often contain subjective measures or judgments, for example, “The emergency exit shall be easily recognizable.”
While the language used for User Stories is initially sometimes less precise than wording in ‘shall’ statements, it would be a mistake to think that the need for objectivity and lack of ambiguity never applies. Agile methods propose that effort is not expended until it is necessary to do so. Any effort expended to provide this precision before the user story is assigned to the iteration, would be wasteful.
Once a user story is selected for an iteration, it is the responsibility of the entire team – product owner, users, developers, testers, etc. – to ensure that it is clearly and unmistakably understood by all and, if necessary, modifying it in the process. This is one of the benefits of Agile processes: by involving all team members in the discussion of user stories, it is less likely that misunderstandings will occur. And by involving testers there is the opportunity to ensure the testability of whatever is agreed.
Another important aspect of Agile testing is automated regression testing. Unlike traditional, phased projects, Agile methods require that testing be done, like voting, early and often. The code is changing frequently, and it is important to maintain a baseline of ‘correctness’. Regression testing is essentially the same tests performed repeatedly, to ensure that changes have not broken anything; when performed manually, this becomes very expensive and may not even be possible given the short duration of iterations being employed. Automation is a financial as well as practical necessity.
Smaller, commercial, IT-type applications projects have been fastest to embrace Agile development, whereas mission critical, distributed or large systems developments have been more resistant. As a consequence, Agile methods are often used for applications that are graphical user interface (GUI) heavy, requiring automated regression testing of a variety of GUI technologies and GUI component recognition. This means that during development, GUI decisions that take into account GUI testing needs, particularly automated testing needs, will aid in regression testing and so benefit the project as a whole. That’s not to say that user stories need to accommodate technical GUI needs, but it is incumbent on test engineers to consider automated regression testing during initial user story exploration and elaboration.
You may also be interested in:
How to Choose a Test Management Tool
What is a Software Defect?
DevOps make way for TestOps…
Ask an Inflectra expert:
And if you have any questions, please email or call us at +1 (202) 558-6885
SpiraTest combines test management, requirements traceability & bug-tracking
SpiraTeam brings your teams together, managing the entire application lifecycle
SpiraPlan lets you manage your programs and portfolio of projects like never before
Orchestrates your automated regression testing, functional, load and performance
The ultimate test automation platform for web, mobile, and desktop applications
The help desk system, designed specifically for software support teams
Cloud hosted, secure source code management - Git and Subversion
Exploratory testing capture tool that automatically records your testing activity
Let us deal with the IT pain so you don't have to. Or use on-premise if you prefer.
Our customers work in every industry imaginable. From financial services to healthcare and biotech to government and defense and more, we work with our customers to address their specific needs.
Our products do not enforce a methodology on you, instead they let you work your way. Whether you work in agile development, Scrum and XP, Kanban and Lean, Waterfall, hybrid, or Scaled Agile Inflectra can help.
If you want to learn more about application delivery, testing, and more take a look at our whitepapers, videos, background papers, blog, and presentations.
Customers use our tools to help automate repetitive tasks and streamline their business processes using our Robotic Process Automation (RPA) solutions.
We collaborate with a wide range of teams to bring our customers a range of services (including load testing, training, and consultation), complimentary technologies, and specialized tools for specific industries.
Learn how different organizations have benefited from using Inflectra products to manage their software testing and application develooment.
Outstanding support is the foundation of our company. We make support a priority over all other work. Take a look at our support policy.
Discover great tips, discussions, and technical solutions from fellow customers and Inflectra's technical experts.
If you can't find the answer you're looking for, please get in touch with us: over email, phone, or online.
We are constantly creating new videos to help customers learn about our products, including through in depth webinars, all freely available along with a wide selection of presentations.
We provide a number of resources to help customers learn how to get the most out of our products, with free online resources, virtual classrooms, and face to face.
Read about Inflectra, our manifesto, and values. Meet our incredible customers who are building awesome things, and our leadership team that are committed to building a great company.
The Inflectra Blog contains articles on all aspects of the software lifecycle.
In addition we have whitepapers,
background articles, videos and
presentations to help get you started.
Events are a big part of our awesome customer service. They are a chance to learn more about us, our products, and how to level up your skills with our tools.
We partner with educational institutions and individuals all over the world. We are also a great place to work and encourage you to explore joining our team.
Please contact us with your questions, feedback, comments, or suggestions. We'll get back to you as soon as possible.
When you need additional assistance (be it training, consulting, or integration services) our global certified solution provider partner network is ready to help.
At Inflectra, we are fully committed to provide our customers with the very best products and customer service. Check out some of our recent awards.
We want to help developers extend and customize our tools to fit in with their needs. We provide robust APIs, sample code, and open source projects.