Testing As an Engineering Activity
Generally engineering is defined as the application of systematic disciplined and quantifiable approach to develop "effective and efficient Software”. And software testing is the execution of the software with actual test data and the role of testing is to fulfill the check responsibilities assigned to the testers. So, there is pressure for software professionals to focus on Quality issues. Suppose if poor Quality software is obtained then it will not acceptable by the user. Normally failures lead to catastrophic losses. When high Quality staff members are employed, they confirm that:
• Software products are built •on time •within budget •with highest Quality based on:
• Ability to meet all the requirements.
So, Software development staffs should be selected with Interest, Training and it must to change:
a. In the way software is developed and maintained
b. In the way developers and maintainers are educated.
The software engineering is represented as the formal engineering discipline also it is related to other engineering discipline. This holds:
- A defined body of knowledge
- A code of ethics
- A certification process
The engineers are normally educated and trained in every engineering discipline; this training is based on
- Basic scientific principles
- Engineering processes
- Best practices
Due to the movement from software engineering profession and also for these educational needs, ACM & IEEE computer Society employs a joint task force. Where ACM - Association of Computing Machinery.
The main objectives of a task force team are
1. To define a body of knowledge which covers the software engineering discipline?
2. To discuss the nature of education for this new profession:
3. To define a code of ethics for the software engineer
When an engineering approach is employed to the software development, it says that:
Good understanding about the development process
Defined life cycle models Standards are in place for product and process
To evaluate the product and process Quality, measurements are employed
Components are reused
Verification and Validation
Engineers should have proper education, training and certification
A test specialist
A person who concentrates on software testing in particular and education is based on
• Processes that constitute the software engineering discipline
A test specialist should know about:
- Test related principles
Also it must be learning how to use them to the testing tasks which has to be done; all the testing elements make the tester:
- To improve the knowledge
- To assure the skills which allow a natural evolutionary pattern?
The integrating framework for giving the testing concepts is called as Testing Maturity Model (TMM).)