Testing itself is considered to be a unique project on its own., planning, execution, tracking and periodical reporting is essential. In this chapter we will see how can we plan to manage all these activities, so that the effective testing can be done in the designated time period.
Every project has definite beginning and definite end. The product or service is different in some distinguish way from all similar products or services. Because of we integrate Software Testing in each phase of the product and the software products do not have same type of features, testing also has different characteristics and what 15 tested in each version could not be same.
Table of Contents
Test Planning:
Preparing a Test Plan-
Test plan plays an important role in the execution, tracking and reporting of the whole testing project which covers:
- What things to be tested? This defines the scope of the testing project.
- How the testing will be performed? This covers how the project will be divided into the small and manageable modules or tasks.
- What resources (either machines or humans) are required to conduct tests?
- What time duration is required to test particular function, module or project?
- What risk is associated with each testing task?
Scope Management:
Deciding Features to be tested or Not: Different testing teams do the testing for various phases of testing. There can be a single test plan for all the phases and all teams, which is known as master test plan or there can be separate test plans are there for different phases and different testing teams.
Scope management refers to specify the scope of a test project. The following activities are included in the scope management. Understanding what constitutes a release of a product. Breaking down the product into multiple release by considering their features. Assigning priority to each release based on features.
Deciding what features needs testing and what feature doesn’t. Conducting details of testing, so that estimation of the resource requirement can be made.
Deciding Test Strategy:
Once the product is divided into multiple releases based on its features, the next step is to find more details of what is to be tested, so that exact estimation of size, effort can he made and proper scheduling can be arranged.
This activity includes: Configurations and scenario for testing functionalities. Identify the proper integration testing method.
How to set Testing Criteria:
Different testing phase should have clear entry and exit criteria. To test various features, different type of tests, or combination of different tests has to be used. For each type of test, clear entry criteria have to specify which defines the start of the testing phase.
Similarly, for each type of test cycle exit or completion criteria has to be specified which defines the end or completion of particular test cycle.
Identify Staff, Responsibility and Training:
After completion of the above activities, we need to select proper staff to conduct different tests, assign responsibility to that staff and we also need to do arrangement for the training to the staff if it is needed.
Testing project requires different employees to play their role differently. Appointment of test leaders, test manager and testers, and assigning different responsibilities to each role plays vital role in the testing process.
Identify Resource Requirements:
As a part of the planning, after choosing the staff and assigning the responsibilities, providing resources is equally important activity. In the planning which testing team need which resources is planned out.
These resources may include: Configuration of Machines (CPU, RAM, Hard-Disk etc.). Test automation tools. Some supporting tools like compilers, interpreters, data generators, Operating Systems etc.
Any special hardware or software if it is need to conduct special type of test conduction. Appropriate number of licenses software.
Identify Test Deliverables:
Test Deliverables are nothing but the outcome, we are expecting team the testing team after completion of the various tests. In the planning phase we need to determine the format of the Test Deliverables.
The Test Deliverables may have following things:
- The test plan itself (Master test plan or any other test plan given to perform).
- Test cases with any automation mention in the test plan.
- Test logs generated during testing process.
- Summary report of the test
Estimation of Size and Effort:
Estimation of size is an important parameter of software development process. After computing size, we can compute effort needs to be given to the software product and finally based on the effort we can estimate the cost of the software product.
Size of the product is obviously determining the amount of testing that needs to be done. If the product is large in size, then the testing effort will be increased. Few of the measures of the size of the product under test are listed below:
1. LOC: LOC or Lines of code is one to the parameter to estimate the size of the product. n this method how many lines of code need to write to implement the software product is estimated. Based on number of lines of the code first the size of the software product is estimated and then based on the size, effort and cost will be estimated. Even though, there are some problems are there in this method of size estimation, LOC is still a popular measure for estimation of the size of the software product.
2. FP: Function Point is another popular method of estimation of the size of the software product. It is difficult to estimated lines of code when the software is yet to build or under development. In this method the size of product is estimated based on the number of functions needs to write and number of IO screen required to implement the software.
Lines of Code (LOC) size estimation method only focus on number of lines of code to be written in the software, whereas Function Point (FP) Considers number of functions (code), inputs, outputs, interfaces, external data files and enquires too.
Test Management:
Test management most commonly refers to the activity of managing the testing process of the computer. A test management tool is software used to manage tests that can be an automated or manual, that have been previously specified by a test procedure. It is often associated with automation software.
Test management tools often include Requirements and specifications management modules that allow automatic generation of the requirement test m matrix, which is one of the main metrics to indicate functional coverage of a system under test.
Test Management includes building some bundles of test cases and execute them (or scheduling their execution).
Execution can be either manual or automatic. The user will have to perform all the test steps manually and inform the result of the tests. There are several ways to run tests. The simplest way to run a test is to run a test case. The case can be associated with other test artifacts such as test environments, test case execution records, and test suites.
The ultimate goal of test management tools is to deliver sensitive metrics that will help the manager in evaluating the quality of the system under test before releasing.
Choice of Standards:
Standards plays important role in the planning of an organization. There are two types of standards – External Standards and Internal Standards.
External Standards are standards that a product should obey with, which are externally visible and are usually stipulated by external people. From a testing point of view, these standards include standard tests supplied by external people and acceptance tests supplied by customers. Compliance of the external standards is usually done by external parties.
Internal standards are standards formulated by the internal staff of the testing organization to bring consistency and predictability. Testing organization itself standardize the processes and working methods withing the organization.
Internal Standards includes:
Naming conventions for the test artifacts. Standards of document produced and used. Test coding standards. Test reporting standards.
Naming convention for the test artifacts: Every test artifact should have proper and meaningful name. If the test artifacts have proper and meaningful names then it made easy to identify the tests artifacts. Proper and meaningful naming convention process also made easy mapping between the functionality and its corresponding test cases.
For an example: Product P with modules MO1, M02 and M03 are mapped with test PMOlnnnn.<file type>, PMO2nnnn.<ile type>, PM03nnnn.<fle tyne>, This two-wa)
mapping between the product functionalities and tests enables identification of proper tests to be modify and run when product functionality changes.
New Post
Follow on Twitter