Software Quality Assurance

Most of the computer engineers and software industry peoples have wrong impression about software quality assurance. Some engineers say it is as a separate phase of software development process but some others say it can’t be separable and goes with each phase. However as a general we can say it is about monitoring the software engineering processes and methods to ensure the quality (Wikipedia definition). Within this definition SQA involves in entire software development process, so let’s go further with this definition.

Some peoples think SQA is just about testing the interface and reporting bugs in that interface. But SQA is much broader thing and it is not just about testing an interface. Most of the today’s IT organizations think QA process is for check whether system can accomplished the end user requirements. That is not an entire QA process and it is just a part of a SQA process. Software Quality Assurance engineer must have proper understanding about,

  • · Requirements of particular project
  • · Possible failures of a system and ways to address those failures
  • · Most common mistakes which can found in many software products
  • · Technical background project used.
  • · Etc.

Also good QA engineer should have a ‘test to break’ attitude, an ability to take the point of view of the customer, a strong desire for quality, and an attention to detail. Tact and diplomacy are useful in maintaining a cooperative relationship with developers, and an ability to communicate with both technical (developers) and non-technical (customers, management) people is useful. Previous software development experience can be helpful as it provides a deeper understanding of the software development process, gives the tester an appreciation for the developers' point of view, and reduce the learning curve in automated test tool programming. Judgment skills are needed to assess high-risk or critical areas of an application on which to focus testing efforts when time is limited.

Other than above things QA engineer should be able to find problems as well as to see 'what's missing' is important for inspections and reviews.