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:
Testing as an Engineering activity
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:
The development process is well understood
Projects are planned
Life cycle models are defined
Components must be reused
Must have correct measurements to evaluate product and process quality
We should maintain standards for the products we are developing
Validation and verification plays an important role in quality determination
The Engineers who are developing the software must have relevant knowledge and training and certification.