Exploring the Foundations of Software Testing: Roadmap to Quality Assurance

Reading time: 2 minutes

In the previous article, I described the benefits of implementing testing into the software development process. Now, we’ll dive into the types of tests according to the ISTQB (International Software Testing Qualifications Board) handbook. It’s undeniable that testing is valuable, and an efficient and effective testing process should start as early as possible. We also know that cooperation between testers and developers brings tangible and long-term benefits in terms of product quality and, consequently, customer satisfaction. The next question that arises is how to test.

Type of tests

Following the ISTQB handbook, we distinguish the following types of tests, which cover various aspects of software:

  • functional testing
  • non-functional testing
  • white-box testing
  • change-related testing (confirmation testing and regression testing)

Functional testing

Functional testing is a type of software testing responsible for evaluating the functions or features of a system. It answers how the system works and whether it meets customer requirements. The main goal of functional testing is to verify whether the software behaves as expected and performs the intended functions. Understanding business concepts is crucial during the execution of functional tests.

Non-functional testing

While functional testing answers the question of WHAT specific software should do, non-functional testing examines HOW the software performs. Non-functional tests include usability, security, performance, reliability, portability, maintainability, and compatibility testing.

White-box testing

White-box testing involves analyzing the internal structure of the system, unlike black-box testing where testers assess the application without knowledge of its internal structure. Test cases in white-box testing are designed based on the internal code structure to verify implementation correctness.

Change-related testing

Change-related testing, including confirmation and regression, is conducted after implementing changes to ensure that defects are fixed (confirmation) or that new implementations do not introduce new defects (regression).

Importance of testing strategy

As technology advances, adopting a comprehensive testing strategy is essential for developing reliable software. It not only prevents defects but also contributes to continuous software improvement, ultimately enhancing user experience and building trust in the brand. There is no one-size-fits-all testing process. According to one of the principles of testing in the ISTQB handbook, testing depends on the context. Therefore, it’s up to the team to decide which types of tests and tools to adopt to achieve extensive test coverage and deliver a reliable product that meets user needs.

 

 

Let us help you with testing!

Facebook
Twitter
LinkedIn

Contact

Nearshore Partner means for you:

Trusted us

Contact

Ola Wojdyła

Contact

Nearshore Partner means for you:

Trusted us