Podcast
Questions and Answers
What is the primary purpose of software testing?
What is the primary purpose of software testing?
When does formal testing begin in the Waterfall model?
When does formal testing begin in the Waterfall model?
Which of the following is NOT a benefit of software testing?
Which of the following is NOT a benefit of software testing?
What distinguishes manual testing from automation testing?
What distinguishes manual testing from automation testing?
Signup and view all the answers
Which testing activity occurs during the design phase of the software development lifecycle?
Which testing activity occurs during the design phase of the software development lifecycle?
Signup and view all the answers
Study Notes
Week 2 (13-17 January, 2025)
- Topic: Software Lifecycle, Section 2: Software Testing
- Textbook pages: 26-29
- Workbook pages: 18-19
Last Week's Review
- The purpose of the review was to refresh knowledge from the previous week.
Software Testing
- This section gives a thorough explanation of the testing phase within the software development life cycle
- The importance of software testing is emphasized, along with different types, methods, and levels of testing.
- Each type and method will be examined briefly, providing examples to illustrate the distinctions between them.
Learning Outcomes
- Assess the significance of software testing.
- Create a test plan.
Key Word: Test Plan
- A test plan is a technical document outlining the approach utilized to test a product.
Software Testing Definition
- Software testing is the evaluation process to determine if the developed software meets the predefined requirements and specifications.
- A series of testing activities are carried out to discover errors, gaps, or missing elements in the requirements.
Importance of Software Testing
- Validates that the software requirements are implemented accurately.
- Identifies defects that are then corrected before product release to production.
- Enhances the user interface and increases customer satisfaction.
- Aids in product security.
- Ensures product quality.
When Is Testing Appropriate?
- The best time to test software depends on the software development life cycle (SDLC) model to follow.
- In the Waterfall model, formal testing happens after the software's development.
- In Agile development, testing happens as a part of each iteration or sprint.
- Testing also happens at the end of each iteration.
Verification vs Validation
-
Verification: Checks that the software is built correctly (how).
- Done by Developers
- Focuses on internal aspects like documents and code
- Static activities (reviews, walkthroughs, inspections).
-
Validation: Checks that the software is the correct thing built (what).
- Done by Testers
- Focuses on the product's behavior against requirements.
- Dynamic activities (executing the software for testing).
Types of Testing
- Manual testing relies on human judgment to test the software.
- Automation testing utilizes tools to perform tests.
Manual Testing Characteristics
- Less reliable; prone to error.
- Consumes more time
- Ideal for testing once-off or few times
- Important in customer experience where the user is a major factor.
Automation Testing Characteristics
- More reliable and accurate.
- More efficient, faster
- Ideal for repeated testing.
- Initial investment required for tools/frameworks.
- Might not guarantee high quality user experience, no human observation to confirm.
Activity 1.2.1 - Workbook
- Research what aspects of testing should be automated, and when.
Week 3 (20-24 January, 2025)
- Topic: Software Life Cycle
- Section 2: Software Testing
- Textbook pages: 30-40
- Workbook: 20
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Explore the key concepts of software testing as outlined in Section 2 of the software lifecycle. This quiz focuses on the importance, types, and methods of software testing, helping you understand how to create a test plan effectively. Test your knowledge on the evaluation process to ensure software meets its requirements.