Development Strategies & Acquisition

profilepxmptee
CharlesWilliams_IT425_IP3.docx

Running head: SOFTWARE PROJECT TESTING 1

SOFTWARE PROJECT TESTING 2

Charles Williams

IT425 Unit 3 IP

Professor. Brian Rodgers

12/4/17

Testing

Development testing refers to testing of all the activities that are performed by developers. The following are the type of testing that is carried out:

Unit testing- This refers to the testing of the smallest units of hardware or software.

Component testing- This refers to the testing of many units which are integrated.

System testing- This refers to the testing of all the components of the system integrated together.

Testing in the life cycle

Testing of a system is performed throughout the lifecycle. In the testing process, testing planning is one of the important early steps. The test planning determines the procedures to be used in the testing. Testing is carried out throughout the preliminary and detailed design phases. Once the system is in operation, the testing (Rutland, 2012) does not stop. During the testing, errors may be found and the requirements might change but testing of the system is carried out until retirement.

Test planning

The requirements of the test determine the testing planning. The strategy to test the testable requirements is documented in the testing plan. Having testable requirements is very important to the testing plan. Requirements that are not testable are considered ambiguous and they should be clarified or re-written. The requirements that are not testable can be disambiguated by identifying very specific thresholds of acceptance.

Requirements and testing

After defining the requirements, they are categorized which aids in allocation. Functional requirements describe the functioning feature of the component, the subsystem or the system. Operational requirements refer to the requirements that are related to the operational environment of the subsystem or the system (Rutland, 2012). The interface communicates with users and the system.

Implementation and Unit testing

The unit testing begins when the detailed design nears the end and when the components of the hardware and the software have been implemented. The testing of the components and the system follows the unit testing of the system. The testing of the system and the components is performed throughout the integration of the system. The final test is the acceptance testing which is performed before the distribution.

Acceptance testing and acceptance test plan

The final stage of testing is acceptance testing and it determines whether the product is ready for use by the customers. The acceptance test gives the customers the final opportunity to make sure that the system is what they were looking for. Acceptance testing therefore enhances consumer responsibility. The acceptance test and all other testing should be defined early in the life cycle. The acceptance plan should include the following; the scope of the test, the procedure to be used in the testing and which should be well defined the acceptance criteria which include the quantitative metrics to be used to reduce ambiguity in untestable requirements, the data collection plan and the responsibilities during the testing.

Motivation

Less than 30 percent of information technology projects are considered successful due to factors like cost overruns, schedule delays, poor quality and unfilled requirements. Billions of dollars are spent each year by different companies on IT projects. Failures in projects have cost at least $ 25 billion to the economy of the United States. When determining whether a software project will be successful or not, the software quality assurance (SQA) plays a vital role. Software Quality Assurance refers to a process, activity or task that assures that the software requirements are met.

Failure in SQA is when the requirements of the project are not met. It can emanate from one or more of the following topic areas; planning, scope, stakeholders, time, commitment, quality, resources, time, communication, testing, project manager, process and politics among others. The role played by SQA in determining whether a project will be successful or will fail is often under-appreciated and overlooked. To counteract this habit, efforts should be made by the project manager to incorporate SQA into the life cycle of the project. This implies that SQA should not only be applied to put a “finishing touch” on the project but rather should be incorporated to the whole testing process of the project. SQA should occur early in the life cycle of the project and should also be performed on a regular basis. The process of SQA should be considered as a continuous assessment mechanism of the project (Leffingwell, 2003).

The basic functions of SQA

· Assures that the software project planning has been done

· Assures user requirements

· Assures the design process of the project

· Assure that the coding practices have taken place.

· Ensure integration and testing of the software.

· Perform audit on the project.

Roles of SQA

· The SQA personnel is responsible for SQA planning, analysis and reporting while the software engineer group is responsible for performing the technical work of the software project.

· The SQA team is responsible for reviewing the documentation for completeness of the project.

· Reporting back by SQA is done through a management team that is separate from the one used by the other departments to ensure that there is commitment.

· The personnel in SQA should be consisted people with the necessary skills to perform the required tasks.

References

Leffingwell, D., & Widrig, D. (2003). Managing software requirements: A use case approach. Boston: Addison-Wesley.

Naughty, N. (2012). Acceptance Test Plan.

Rutland, M. B. B. Y. K. K. H. T. S. (2012). Acceptance Test Plan.