As has been noted over the past few years, the Internet of Things (IoT) is emerging as the Internet of Everything (IoE). And when “everything is in a computer,” software is in everything. A report released by the Consortium for Information & Software Quality (CISQ) in 2020 calculates the total cost of poor software quality (CPSQ) in the United States at $ 2.08 trillion. Who would want $ 2,000 billion taken out of the economy?
Get into quality assurance and testing. Yes, I don’t use them interchangeably – quality assurance is about activities designed to ensure that the project meets stakeholder expectations, while testing is a set of activities to ensure that a system is free from errors and defects. Here are some tips to ensure good practices and quality assurance strategies:
Shift left, left and more to the left
Everyone knows the classic time vs cost curve. The later you find problems in a project, the more expensive it is to fix it. The good news is that simply adding software QA and testing experts to your needs analysis process will significantly solve this problem. From a static document review with checklists to identify discrepancies to brainstorming sessions where developers and QAs are involved and work as a group – the shift to the left is commonly used when we want to move away from the traditional mold. consisting in introducing tests only after development. This means that we move further to the left in the SDLC and that the tests start early.
Take advantage of automated testing
When you have to test something over and over, why repeat it manually? Integrate the element of automation, reduce the cost to market, and see benefits such as:
- Faster return
- Faster identification of errors
- Increased confidence in the quality of applications at every stage of development
- Reduced effort required for repeated tests
- Improved test accuracy by eliminating possible human errors
- Improved test coverage with the ability to include tests that are too expensive to run manually
Determine what success looks like
Make your QA strategy very clear about what the testing phase is about, when it can start and when it ends – define the set of criteria so the team knows what everyone is working towards. Maintaining clear entry and exit criteria for each phase of testing ensures that everyone is working toward a common, focused goal. Each activity in the testing phase is then performed and measured against these goals, paving the way for increased testing speed.
Stay close to super users
Ultimately, every app has a targeted user base. Any quality assurance takes into account their final vision. Contrary to popular belief that only business acceptance testing is the testing phase when we need to involve users, interacting with them early on while capturing requirements, keeping them informed during the technical phases of testing will not work. that make user testing smoother and faster.
Whether it’s tests to run or bugs to fix, consider prioritization. Prioritizing which tests to run is not about reducing test coverage, but about ensuring that the most important tests are run. Prioritization of defects ensures that the QA team stays close to business users, stays close to the functionality / delivered product and that the most significant defects are corrected on time.
Written by Roshni Nambiar, Test Manager at KPMG UK