| EdistaLearning is happy to bring you the Software Testing Strategies course. You can access this course anytime, anywhere, through the Internet.
Introduction
Testing is an essential activity in a software process. Planning for software testing involves establishing an overall testing strategy for a project.
The testing strategy includes organizing testing at three levels—unit, integration, and high-order. It also involves procuring tools to automate testing and identifying the people who will perform testing. In addition, planning is required for debugging—the process of diagnosing and fixing the problems detected during testing.
Course Benefits
After taking the course, you will be able to:
-
Explain the factors to consider for planning effective software testing.
- Explain the broad issues to consider while deciding a testing strategy for a software project.
- Explain unit testing and the aspects to consider while deciding a strategy for it.
- Explain integration testing and the aspects to consider while deciding a strategy for it.
- Explain high-order testing and the aspects to consider while deciding a strategy for it.
- Explain the role of a tester and various options for organizing the testing activity.
- Explain what debugging involves.
You receive a certificate of completion after successfully completing the course.
Course Highlights
This course includes:
-
Planning for Software Testing
- An Overview of the Testing Strategy
- Unit Testing
- Integration Testing
- High-order Testing
- Roles-and Organization for Testing
- Debugging
Planning for software testing starts with establishing an overall testing strategy. This provides a framework for detailed planning. The strategy specifies the manner in which unit, integration, and high-order testing will be performed. It also specifies the types of test case design techniques that will be used and the completion criteria for testing. The testing strategy also identifies the testing organization, process, and tools.
Testing should proceed from the 'small' to the 'big', that is, from unit testing through integration testing to high-order testing.
Unit testing ensures that each unit functions according to its specifications. The term, unit, denotes the smallest component of software design that can be specified and tested individually. Unit testing is performed using white-box techniques and requires knowledge of the internal structure of the unit. Typically, the programmer who codes the unit performs unit testing. During unit testing, drivers and stubs might be required to check the unit in isolation, without using superior or subordinate units.
Integration testing is performed after unit testing. It focuses on the problems related to integration of units that function correctly when used individually. The two possible approaches for integration testing are the big-bang approach and incremental approach. The incremental approach can be divided into two categories—top-down (includes depth-first or breadth-first methods) and bottom-up. In practice, the incremental approach used for integration could be a combination of these two categories. Often, drivers and stubs are used to simulate units that are not a part of an increment.
An overall testing strategy defines the phases in which to integrate units for testing. Most integration testing is black-box oriented. Typically, software engineers or a software engineering group perform integration testing. Organizations can also use an independent testing group (ITG) to perform integration testing. After integration testing is complete and the errors detected are fixed, regression testing is required to ensure that the changes made to the software have not introduced new errors.
High-order testing checks that the software meets customer requirements and that the software, along with other system elements, meets the functional, behavioral, and performance requirements. It uses black-box techniques and requires an outsider perspective. Therefore, organizations often use an ITG or the users themselves to perform high-order testing. High-order testing includes validation testing, system testing (focuses on aspects such as reliability, security, stress, usability, and performance), and acceptance testing (includes alpha and beta testing). The testing strategy specifies the type of high-order testing that the project requires. This depends on the aspects that are important in a particular system from the user perspective.
Organizations often use tools to automate testing because testing involves tedious and error-prone tasks. Many types of testing tools are available including comprehensive tools that take care of all testing activities.
Planning for software testing requires identifying the people who will perform different types of testing in a project. Organizations often consider software engineers for the role of a tester because software engineers understand the internal structure of a program, and therefore, can design appropriate tests for each part of the program. Organizations also use an ITG to perform testing. An ITG is not responsible for building or delivering the system and is set up specifically to perform testing and detect errors
Besides planning for testing, it is essential to plan for debugging—the process of diagnosing and fixing the errors detected during testing. Planning should also take into account the need to execute regression tests after debugging. The course has been co-authored by the internationally recognized consultant and authority on software engineering — Dr. Roger S. Pressman.
Dr. Pressman is an internationally recognized authority in software engineering. He is consultant to many Fortune 500 companies. He is also the author of six books including the world's most widely used software engineering textbook—Software Engineering: A Practitioner's Approach.
| Learner hours:
9.5 hours |
| Target Audience:
Developers, Testers |
Prerequisites:
SE201: Basic Concepts of Software Project Management
SE501: An Introduction to Software Testing |
| List Price: USD
170 |
|
EdistaLearning offers special incentives for purchases from developing nations and universities and discounts on bulk purchases.

|