• Before we discuss software testing we may have brief knowledge about software Engineering. We know that the testing phase  comes after the coding phase , testing phase plays a major role  in development of any software because if the testing phase was completed without any test errors we may say that the software quality is high.if we face problems during testing phase and we ended up with some internal errors that may be visible or invisible we can say that our software has low quality.

  • Software testing is usually done by testers. They are implementing the test cases on the code that was written by software developers. Software testers are different from the software developers, developers are not allowed to develop the test cases .

  • Testing can be defined as:

  1. Testing as an Engineering activity

  2. Testing as a process

  • We will discuss these two in detail in the below

Testing as an Engineering activity:

  • In the increased demand for high quality software we are supposed to look for well-educated software professionals and their knowledge on the domain they are working,and coding ethics so based on these circumstances the testing is slowly changes as an Engineering activity. 

  • Using an engineering approach to software development implies:

  1. The development process is well understood 

  2. Projects are planned

  3. Life cycle models are defined

  4. Components must be reused

  5. Must have correct measurements to evaluate product and process quality

  6. We should maintain standards for the products we are developing 

  7. Validation and verification plays an important role in quality determination 

  8. The Engineers who are developing the software must have relevant knowledge and training and certification.