Quality Assurance: Five Crucial Activities For Software Testing

by on May 23, 2011 in Quality Assurance, Web Development

Often when a project does not meet customer satisfaction parameters, formal reviews are performed when it is already too late. Pro-active organizations always prefer to review processes at every stage of the project. While most organizations implement formal QA and Testing processes – we have found that the following 5 activities are crucial in improving the overall quality of the software:

Quality Assurance Process

  1. Plan the testing process:
    • Create a test plan specific to a level of testing (e.g. system testing, unit testing, etc.).
    • Test levels should emphasise on how the testing schema and project test plan apply to different levels of testing and state exceptions if present.
    • A test plan must contain scope of the testing and all the assumptions that are made.
    • Completion criteria need to be specified to determine when the specific level of testing is complete.
  2. Involve QA from the beginning:
    • QA Engineers should be involved in the project from the initial stage of the Software Development Life Cycle (SDLC)i.e., Requirement gathering. This helps identify the possible bug prone areas and design the software so that these areas are properly and efficiently managed.
    • Later stage involvement of the tester may affect the quality of the software as the design may not allow the changes which are required to remove the bugs forcing you to compromise in certain areas.
  3. Document, Document, Document:
    • Documentation is a major step of the testing process. Documentation always helps the testers to get into the project detail in-depth.
    • To understand the project, documenting the project requirements is a very useful exercise.
    • Most companies do not take documentation very seriously at the early stages of the project which results in critical problems in the later phase.
    • Especially if a new tester joins any ongoing project, proper documentation of that project will help him/her to get on top of the project very easily.
  4. Acquire domain knowledge:QA is the users proxy in the development organization. For a QA person it is critical that he:
    • Acquires good domain knowledge. He needs to quickly grasp as many concepts as he can.
    • Review online resources about the domain on which the test application is based.
    • If possible, get training on the domain or meet the domain experts to advice.

    Ideally, organizations should arrange for formal domain training sessions for the QA team.

  5. Communicate to bridge the Developer-QA gap:Developers and QA come from different planets – developers are happy if a software works once, QA is happy if it breaks once. So a communication gap is to be expected. However, this gap will result in lack of in-depth knowledge of the testing application and which in turn will create unidentified defects in the application.
    • Communication between Development and QA affects the overall productivity of the project
    • More knowledge, more transparency of an ongoing project always helps the testing process.
    • Regular meetings can be beneficial to track the status of the project.
    • To get the in-depth knowledge of a project, one should not have any communication gap between the testers and the business team as well.

Implementing these Quality Assurance activities will help ensure deliverables of high quality software that enhances the confidence, trust and positive perception for the company.

Improving testing processes in order to get good quality-bug free software is an ongoing activity. The testing process must be reviewed in all the phases of the project development life cycle. The above 5 steps are crucial to build in and review on a periodic basis by a learning organization.

Contact us to deliver on time & bug free softwares, websites, apps, etc.

Tags: