Software Testing Basics

Software Testing is one of the most buzzing words we hear nowadays in the Computer industry. We hear the terms Quality, Software Testing, Quality Assurance (QA) and Quality Control (QC) being spoken. Are these all one and the same, or are they inter-related? Lets start our discovery process by learning about the most important entities that make up software testing ...

Quality

The word 'Quality' is really not a simple word. It does NOT have a simple and single meaning. It has various shades that need to be seen in light of the different perspectives related to software.

  • User of Software: By user we mean the consumer of the software program. A user says a software is a quality software if it satisfies the need he has.
  • Manufacturer of Software: By manufacturer we imply the developer of the software; or the organization which develops the software for a client. A manufacturer says a software is a quality software if it satisfies the requirements which the client has specified.
A software system could be satisfying all the requirements that a client or user could specify, but it could still not qualify as a quality software. This may be because it is not satisfying the need of the user. But here you could ask a question as how can it not be a quality system when it satisfies all the user's requirements. Well the culprit here could be 'unstated requirements'. Its not easy to specify all requirements, clearly as well as explicitly. Add to this the fact the the organization / developer speak in a highly technical language and jargon. and the user / client of the system will speak in layman or simple terms. The client may have many requirements that he does not specify clearly or at the time of inception of the project because he might either think they need not be specified (like expecting the software to have printing capabilities) or because he is using terms which are ambiguous (like for performance of the system; he will expect the system should be fast, but may not specify what time should be considered as fast).

Thus many a times it happens that software projects are classified as failure; and nine times out of ten, that is because of the mismatch in user and the developers perception.

Hence Quality Software can be defined as a software that satisfies the clients needs as well as stated and unstated requirements. Besides it should be reasonably bug-free, delivered on time and within budget and is maintainable. 

What is Software Testing?


Why is Software Testing required?

No comments:

Post a Comment