Having consistent QA testing procedures will increase your customers’ satisfaction, which will be reflected in long-term commercial relationships. QA has a direct impact on revenues, so it’s important that leaders include QA engineers in the entire process of digital product development. A strong QA team provides a wide range of tests that make sure digital products work, and saves companies a lot of money and working hours. Let’s go over some of the QA methods our team applies.
Smoke testing is very helpful to review whether the most crucial features involved in an app or software are working properly. It’s a primarily scripted testing method that provides a quick big picture view of your digital product. Smoke testing aims to ensure overall functionality. It’s a useful starting point to get the bigger picture of the digital product and proceed with other more specific methods. It’s also a source of data to decide if it’s time to continue to production or conduct other tests. As part of our QA strategy, we perform smoke testing all the time with Tok, our Chatter messaging app. This is particularly helpful to ensure our new versions are 100% ready to be released in AppExchange.
Regression testing requires tests to be performed for every single area of functionality for the app or software after a change has been made. When bugs are found and the team does their best to fix them, the programming code changes. Each time the code is changed, it may impact other functionality that wasn’t supposed to be affected and may result in new bugs that need to be fixed. Regression testing helps us trace any unexpected impact from alterations. We helped Zola, a wedding registry, planning, and retail company, to test their web and native mobile apps. Regression testing provided great results and new learnings for both of us.
Sanity testing is not performed to verify the core functionality (such as regression testing), but to double-check the rationality (sanity) of the digital products. It focuses on one or two (or a few) sections of the software. If any of them doesn’t retrieve the expected result; then the build should not continue with more rigorous procedures that may demand an extra investment of time and money. This method is characterized as being narrow, deep, and normally unscripted.
This method encourages the QA team to “explore” the application and play around with it to identify and report any possible bugs. Test cases are not required in advance. Actually, experimented teams use it to gain time before the Requirement Documents are not available yet. We are not talking about a lack of procedures; we are talking about the possibility of discovering, learning, and executing tests simultaneously. That’s why exploratory testing is widely used in agile environments. We highly recommend this method in your testing strategy because it uncovers issues that another functional testing wouldn’t be able to, it puts an emphasis on the UX, and trains your team to become more intuitive and creative.
Besides the three methods listed above, others may be included in the test plan according to the QA engineering criteria and, of course, the nature of the digital product. Here are some of them:
- Unit testing, the core of QA testing: This procedure aims to isolate functional pieces of code and test them separately. This way, the QA engineer makes sure every single part of a system works properly. This first scan provides predictability for the QA team to test at a higher level.
- Integration testing: When programmers write code, it interacts within a more complex system and those interactions must be tested with the same strictness. So, after unit testing has been successfully conducted, isolated functional pieces of codes are tested together.
- Stress-testing: Facing the unexpected is a part of life and it’s necessary to embrace it. Even though a digital product was thought to meet some criteria, it’s very likely that during its life cycle, exceptional situations will be presented. The QA engineer pushes the software to its maximum potential to discover bugs or points of improvement that are hard to identify in regular scenarios.
- End-to-end testing: In this type of test, the entire application or digital product is tested from a user perspective. It aims to analyze all possible ways a user can interact with the digital product and then, identify and register every point of improvement. The user is the center of this testing method, so the data reported can be particularly useful for the UX strategy.
Our commitment to QA testing
Because we have helped a lot of customers build and boost their digital products around Salesforce, we understand the importance of QA testing. Having a strong QA process not only means meeting our customers’ expectations but also implies money and time savings for our company. Tok, our Chatter messaging app, and other Lightning web components remind us every day that QA testing is a procedure that never ends, but is worth all the time and energy we put into it.