CST340 Software Testing FT v3
CST340 Software Testing FT v3
Software testing is one of the fundamental areas to ensure a particular software meets its
expected goals and requirements. This is an important course that enables students to acquire
the necessary skills to perform software testing that covers a wide range of concepts including
the techniques, strategies, processes, analysis and others.
Testing – Students will be taught how to perform tests including developing test plans and
determining the right choice of testing process and strategy.
Applying mathematics – Students will be taught to calculate performance metrics, and use
statistical techniques to evaluate test results.
Assessment
Exam – it is a written form of summative assessment which is conducted in the final
exam.
Quiz - It is a written form of formative assessment that may be conducted during the
lecture period.
Assignment - It is a take home task that student has to complete outside of the
classroom. It can be in the form of practical or theoretical report.
Project - It is a take home task that student has to complete outside of the classroom. It
may be assigned to an individual or group where marks are given based on the
fulfillment to the assessment criteria of the project.
Presentation - Student is assessed on the communication skills.
11. Synopsis:
This course covers the testing process used to assess the quality of computer software. Software
testing is an empirical technical investigation conducted to provide stakeholders with information
about the quality of the product or service under test, with respect to the context in which it is
intended to operate. This course includes, but is not limited to, the process of executing a
program or application with the intent of finding software bugs, advanced topics on software
testing with deep exposure to various testing strategies and techniques such as testing process,
pre-release testing, post release testing, regression testing, finding faults early, measuring
software testing, testing artifacts, sample testing cycle; the management of the testing process
and the economics of software testing will be covered as well.
16. Content outline of the course/module and the SLT per topic
Topics
4. Testing Strategies-I
4.1. Unit testing
4.2. Integration Testing
4.3. Profiling
4.4. Test Driven Development
4.5. State Based Testing
4.6. Configuration Testing
4.7. Compatibility Testing
4.8. Web Site Testing
4.9. Alpha, Beta and Acceptance Testing
5. STRATEGIES AND METHODS FOR TEST CASE
DESIGN II
5.0 Using the White Box Approach to Test Design
5.1 Test Adequacy Criteria
5.2 Coverage and Control Flow Graphs
5.3 Covering Code Logic
5.4 Paths: Their Role in White Box–Based Test Design
5.5 Additional White Box Test Design Approaches
5.5.1 Data Flow and White Box Test Design
5.5.2 Loop Testing
5.5.3 Mutation Testing
5.6 Evaluating Test Adequacy Criteria
5.7 White Box Testing Methods and the TMM
6. LEVELS OF TESTING
6.0 The Need for Levels of Testing
6.0.1 Levels of Testing and Software Development
Paradigms
6.1 Unit Test: Functions, Procedures, Classes, and
Methods as Units
6.2 Unit Test: The Need for Preparation
6.3 Unit Test Planning
6.4 Designing the Unit Tests
6.5 The Class as a Testable Unit: Special
Considerations
6.6 The Test Harness
6.7 Running the Unit Tests and Recording Results
6.8 Integration Test: Goals
6.9 Integration Strategies for Procedures and
Functions
6.10 Integration Strategies for Classes
6.11 Designing Integration Tests
6.12 Integration Test Planning
6.13 System Test: The Different Types
6.13.1 Functional Testing
6.13.2 Performance Testing
6.13.3 Stress Testing
6.13.4 Configuration Testing
6.13.5 Security Testing
6.13.6 Recovery Testing
6.14 Regression Testing
6.15 Alpha, Beta, and Acceptance Tests
6.16 Summary Statement on Testing Levels
6.17 The Special Role of Use Cases
6.18 Levels of Testing and the TMM
7. TEST GOALS, P O L I C I E S , PLANS, AND
DOCUMENTATION
7.0 Introductory Concepts
7.1 Testing and Debugging Goals and Policies
7.2 Test Planning
7.3 Test Plan Components
7.4 Test Plan Attachments
7.4.1 Test Design Specifications
7.4.2 Test Case Specifications
7.4.3 Test Procedure Specifications
7.5 Locating Test Items: The Test Transmittal Report
7.6 Reporting Test Results
7.7 The Role of the Three Critical Groups in Test
Planning and Policy Development
7.8 Process and the Engineering Disciplines: The Role
of the Individual as a Process Facilitator
8. Testing Process
8.1. Pre-release testing
8.2. Post release testing
8.3. Regression testing
8.4. Finding faults early
8.5. Measuring software testing
8.6. Testing artifacts- A sample testing cycle
9. Coverage Criteria
Test Instrumentation and Tools
Developing Test Plans
Managing the Testing Process
Problem, Reporting, Tracking and Analysis
17.Main references supporting the course:
Naik, K., & Tripathy, P. (2008). Software testing and quality assurance: theory and
practice. John Wiley and Sons.