Software Testing

To see whether the software product is aligned with the client’s requirements, the testing is done. Software tester, software developer, project manager as well as the end users can conduct the testing.

Software tests are formal SQA components that are targeted toward review of the actual running of the software. The tests are based on a prepared list of test cases that represent a variety of expected scenarios. Under testing it examines software modules, software integration or entire software packages (systems). Recurrent tests (“regression tests”) are carried out after correction of previous test findings, and continued till satisfactory results are obtained.

Testing is done at every phase of SDLC.

  • At the requirement gathering phase, the analysis and verification of requirements are considered as testing.
  • Reviewing the design in the design phase with the intent to improve the design is  considered as testing.
  • On completion of the code, testing performed by a developer is also categorized as testing.

However the time which the testing should be concluded cannot be exactly said. Yet the following are some instances where testing can be stopped.

  • Testing Deadlines
  • Management decision
  • Completion of test case execution
  • Completion of functional and code coverage to a certain point
  • Bug rate falls below a certain level and no high-priority bugs are identified

Next – Software Testing Methods

Previous – Reviews and expert opinions

Reviews and expert opinions


As defined by IEEE (1990), a review process is:

“A process or meeting during which a work product, or set of work products, is presented to project personnel, managers, users, customers, or other interested parties for comment or approval.”

The design phase of the software development process produces various kinds of documents as, design reports, software test documents and software installation plans and manuals. These documents are reviewed during this review process. Reviews are very important in the SQA process as they provide early detection and prevention of the errors and prevent the passing of the errors towards the stages where the error detection and correction are more cumbersome, intricate and  as a result are very costly, which were occurred during the design and analysis stages.

Reviews can be categorized as formal design reviews – the DR report and peer reviews – inspections and walkthroughs.

Use the following link to access more details on review methods.

Expert opinions

Expert opinions support quality assessment efforts by introducing additional external capabilities into the organization’s in-house development process.  This method may be particularly useful in some situations. The organization’s internal quality assurance activities are thereby reinforced.


Next – Software Testing

Previous – Verification and validation


Verification and validation

In verification we check – “Are we building it right?” This takes place before the validation and check for the documentation and codes. Verification is done in order to verify the software product which is to be developed, which is being developed. This is done by the developers, to ensure that the software system meets all the functionality which is expected to be there. Static activities including collecting reviews, walkthroughs and inspections are performed under verification.

In validation we check – “Are we building the right thing?” This takes place after the verification and checks the overall product. Validation is done in order to validate the software. This is done by testers to ensure that the functionalities which are developed in the software meet the expected behavior. Dynamic activities are performed in this stage because it includes executing the software against the requirements.

Next – Reviews and expert opinions

Previous – Software project life cycle components

Software project life cycle components

The life cycle of a software development project is composed of two stages as,

  • The development life cycle stage
  • Operation – maintenance stage

In first stage the detection of design errors and programming errors is done.

During the second stage , include specialized maintenance components , as well as development life cycle components (pre-maintenance, life cycle, infrastructure, managerial components) are checked.

The main components are,

  • Reviews,
  • Expert opinions
  • Software testing
  • Software maintenance
  • Assurance of the quality of the subcontractor’s work and the customer supplied parts.

Next – Verification and validation

Previous – SQA (Introduction)

Software Quality Assurance (SQA)

What is software quality assurance? The below is the expanded definition for SQA.

“A systematic, planned set of actions necessary to provide adequate confidence that the software development process or the maintenance process of a software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within the budgetary confines.”

Simply in SQA we ensure that high quality software is produced. Here we see whether our software product is in accord with the standards and criteria given and whether our product satisfies the client’s requirements while minimizing the cost of guaranteeing quality.

It is done by a variety of activities performed throughout the development and manufacturing stages. The performed activities prevent the causes of errors, detect error and correct them early in the development process.

Next – Software project life cycle components