We understand that testing is a method than a single activity. We need to break down the testing project into phases by using a fundamental test process. Within each step we recognise the activities and within each activity we identify tasks and thus also subtasks. To recognise the activities and tasks which we work both forward and backward. When we say we work forward, it means that we start with planning activities and also then we move forward step by step asking what comes next.
Here working backwards means that we consider as risk analysis and depending on the type of risk we decide that what activities and tasks are required in every stage to carry out testing?
Let us consider an example of how we might work backward
- Assume that we have identified performance as a major area of risk for the product. Here performance testing is an activity in the test execution phase. We may estimate the tasks which are involved with running a performance test, how long the task will take to execute and how many times we have to run the performance tests.
- Those tests which has to be developed by someone. Performance test development entails different activities in the test analysis, design and implementation. We now estimate the task included in developing a performance test likewise writing test scripts and also creating test data. Performance test need to be executed in a special test environment that will be designed which looks like production or may be field environment.
- The estimated tasks which are involved in getting and also configuring such a test environment such as getting the right hardware, software and tools.
- Everyone doesn’t know the performance testing tools or design performance tests. Performance-testing training or staffing is an activity in the test planning stage. Depending on any approach we intend to take we estimate the time required to identify and also hire a performance test professional or may be to train one or more people in our organisation to do the job.
- Ultimately, in many cases a detailed test plan is written for performance testing while its differences from other test types. So performance test planning is an activity in the test planning phase. Now we estimate time required to draft review and finalise a performance test plan.
When we may be creating our work-breakdown structure, that we want to use it for both estimation and monitoring and also control when the project continues.
To make sure that accuracy of the estimate and precise control make sure that we subdivide the work enough. It means that tasks should always be in short in duration. There is a longer say two weeks then we run long and complex subtasks are hiding within the larger task only to be discovered further.
The different test factors a software testing can involve are
Correctness- Correctness is minimum requirement of software, the essential software module under test. For example –control flow, data flow.
Negative-This fact can check what the product it is not supposed to do.
User Interface- In User Interface testing testers check the user interfaces. For example in a web page we may check for a button. We also check for size and shape. We can check navigation skills.
Usability- Usability testing calculates the suitability of the software for its users, and is directed at measuring the factors like
- Effectiveness- It is capability of the software product to enable users to achieve required goals with accuracy and adequateness in a specified context of use.
- Efficiency-The capacity of the product to highlight users to expend appropriate amounts of resources in relation to the effectiveness achieved in a specific context of use.
Authorization- This may be a process of determining that a requester is allowed to receive a service/perform operation.
Integration- Integration testing is logical extensions of unit testing. This is simple form two units and have tested that are integrated and component and interface between those are tested.
Reliability- Reliability testing is to watch a statical measure of software maturity over time and compare this to a desired reliability goal.
Questions
1. What are the factors that affect software testing estimation?
2. How software testing may cost effectively?