|This article was developed from concepts in the book Global Software Test Automation: Discussion of Software Testing for Executives.|
When thinking of the types of software testing, many mistakenly equate the mechanism by which the testing is performed with types of software testing. The mechanism simply refers to whether you are using manual or automated software testing. This article goes beyond that simple mechanism-based definition to define the intrinsic nature of the tests themselves.
Types of Software Testing
There are a number of types of software testing, categorized by what is being tested and the purpose, or objective, of the test. The objectives range from usability to disaster recovery. For many organizations the most common testing types are: functionality testing, compatibility testing, performance testing, scalability testing, usability testing, application security testing, accessibility testing, and regulatory-compliance testing. A short list follows:
- QA Testing – QA Testing is loosely defined vernacular for a combination of requirements-based, regression and feature level testing performed during post code-delivered phases such as the system, integration and final test phase, to assess and assure the quality of the product.
Note: Currently, the term “QA testing” is widely misused to refer to functionality validation and verification testing. This is technically incorrect, but since its use is pervasive, we offer the above definition for it.
- Functionality, or feature-level, testing – Functionality, or feature-level, testing is performed to verify the proper functionality of the software. It may include testing of the mathematical and algorithm correctness of scientific and financial software, as well as testing of GUI functionality.
- Compatibility testing – Compatibility testing ensures that the software is compatible with the hardware, operating systems, and other software packages that it will be working with.
- Performance testing – Performance testing determines how well the software performs in terms of the speed of computations or responsiveness to the user.
- Scalability testing – Scalability testing is performed to ensure that the software will function well as the number of users, size of data sets, or other factors change from small to large values.
- Usability testing – Usability testing ensures that the software has a good level of ease of use.
- Application security testing – Application security testing determines how well the software can defend against attacks, such as firewall software securing a computer against Internet viruses and worms.
- Accessibility testing – Accessibility testing is performed to ensure that the software will be accessible under various scenarios by the intended users.
- Regulatory-compliance testing – Regulatory-compliance testing is performed to ensure that the software is in compliance with all applicable regulations.
Understanding the various types of software testing from the point of view of the intrinsic nature of the tests themselves helps an individual to better understand the testing process. This helps them to understand the complexity of the testing task, and the interrelation of the components of software testing.
Hung Nguyen co-founded LogiGear in 1994, and is responsible for the company’s strategic direction and executive business management. His passion and relentless focus on execution and results has been the driver for the company’s innovative approach to software testing, test automation, testing tool solutions and testing education programs.
Hung is co-author of the top-selling book in the software testing field, “Testing Computer Software,” (Wiley, 2nd ed. 1993) and other publications including, “Testing Applications on the Web,” (Wiley, 1st ed. 2001, 2nd ed. 2003), and “Global Software Test Automation,” (HappyAbout Publishing, 2006). His experience prior to LogiGear includes leadership roles in software development, quality, product and business management at Spinnaker, PowerUp, Electronic Arts and Palm Computing.
Hung holds a Bachelor of Science in Quality Assurance from Cogswell Polytechnical College, and completed a Stanford Graduate School of Business Executive Program.
Over 20 years of sales, marketing, management, and technology experience in high technology with exposure to industries including financial services, healthcare, higher education, government, and manufacturing; demonstrating a strong track record of success. Proven ability to build and maintain strong relationships, contribute to target organization success, and deliver results. Website: http://www.robpirozzi.com/