My Project Management Expert

Software Quality Testing

Software quality testing is an investigation of a software’s quality which is conducted in order to determine if the quality of the software developed meets the expectation of the project management stakeholders, project sponsor and any regulatory bodies. It also helps in establishing the software’s credibility and promotes an understanding of the underlying risks, if any when it is implemented.

So in a definition of software quality testing is that it is a process of validating that a software program/ application is quality embedded and works effectively whilst delivering the business requirements documentation approved previously.

Tip

Software quality testing can be carried out at various levels and can also be implemented at any time during the software development life cycle process. However, the best time to carry it out is after the requirements have been defined and on completion of the coding process.

1.0 Purpose behind Software Quality Testing

The primary motive behind software quality testing is detecting and correcting software failures that might otherwise have gone undetected. The testing is done in different environments, and by running through different scenarios with the objective to ensure that a product does what it is meant to do at the optimum capacity.

2.0The Testing Methods

The software quality testing methods are basically divided into two sections:
  • The black-box testing method
  • The white-box testing method
The former treats software as a black-box and is said to be employed when the tester does not have any knowledge of the internal implementation. Fuzz-testing, traceability matrix, boundary value analysis and all-pairs testing are some testing types which come under the black-box method.

The white box method is however marked by the tester’s access to the internal data structures, codes and algorithms. API testing, Fault injection, code coverage and mutation testing fall under this head.

2.1 Tip

The testing levels are determined depending on the stage in which these are conducted during the software development process.

3.0 Different Levels of Testing

Apart from the testing methods involved, the levels of testing involved in software quality testing also need to be examined. Let’s take a look at these:

3.1 Unit Testing

This refers to tests that pertain to verifying the functionality of a specific code section. It is also referred to as component testing at times. This tends to be done whilst the software is being developed and is done by the developers themselves.

3.2 Integration Testing

This involves verification of interfaces between components against a software design. It’s purpose is to expose defects in the interfaces and interaction between modules.

3.3 System Testing

This is also known as software application testing and is done to check if an integrated system lives up to the requirements approved and the software requirements specification documented.

3.4 System Integration Testing

System integration testing checks for defaults like a system’s integration to any external systems defined in the system requirements.

3.5 Regression Testing

This aims at finding defects post any major code changes that could have occurred. So its purpose is to bring software regressions to fore and identifying old bugs which could have hit back.

3.6 Acceptance Testing

This involves smoke testing and is performed by the customer or end users. It is also known as user acceptance testing (UAT).

3.7 Alpha Testing

This is actual operational testing by potential users, an independent test team or any related third party at the developer’s site. It is usually carried out on off-the shelf software.

3.8 Beta Testing

This testing follows alpha testing and is basically done to detect the software for any new faults or viruses post its use.

The types of testing listed above are the basic software quality testing models adopted with an objective of ascertaining software products and application quality.

Software Quality Testing - Tip

In the present day context, the quality testing organization is generally different and segregated from the team which has developed the software. It could be a consumer/ user reviewer, a third party organization or even a stakeholder. The idea is to bring the defects, if any, to the fore in an impartial manner so they can be debugged and eliminated.

Sign Up for Our Free
The Fast Track to Project Success eZine
and get The mPME Top 10 Tips
of Successful Project Management Ebook!

The Top 10 Tips of Successful Project Management Ebook Email

Name

Then

Don't worry -- your e-mail address is totally secure.
We promise to use it only to send you The Fast Track to Project Success.



follow MyPMExpert on Twitter


Sign Up for Our Free
The Fast Track to Project Success Ezine
and get Our
Top 10 Tips of
Successful Project Management Ebook!

The Top 10 Tips of Successful Project Management Ebook
Email

Name

Then

Don't worry -- your e-mail address is totally secure.
We promise to use it only to send you The Fast Track to Project Success.

Site News

Please check out our new Project Management Methodologies section. It has loads of great info on concepts such as the PMMM and Critical Path.


Spare 2 Mins & Win an iPod Shuffle

We're running a survey to enable us to better focus our site and products. Please spare 2 minutes to answer our 6 questions and we'll enter you into a draw to win an iPod Shuffle. This way you help us to better help you. Go on, you know it makes sense!

Click here for the Survey.

Original Content Copyright © 2009 My-Project-Management-Expert.com
All other content is in the public domain or is copyright by the credited author.