Manual Testing
Manual Testing is a type of software testing which involves the testing of software, manually, without the use of automated tools. It is the most primitive technique for testing a software, but helps in finding the critical bugs in the application. A new application has to go through the manual steps before making it to the automated cycle. Although it requires more effort, but it is necessary to check automation feasibility. Some of its concepts include (i) Acceptance Testing (ii) Black Box (iii) White Box (iv) Unit Testing (v) System Testing and the (vi) Integration Testing.
In this Manual Testing course from Uplatz, the learners will be able to learn the fundamentals of testing, Software Development Models, Test Design Techniques, Test Management and Tool Support for Testing. After enrollment with this course, learners will be well versed with the testing procedure of a software as well as the complete life cycle involved in it.
Manual Testing
Software Testing Course Curriculum
- Fundamentals of Testing
1.1 Why is Testing Necessary?
1.1.1 Software Systems Context
1.1.2 Causes of Software Defects
1.1.3 Role of Testing in Software Development, Maintenance and Operations
1.1.4 Testing and Quality
1.1.5 How Much Testing is enough?
1.2 What is testing?
1.3 Seven Testing Principles
1.4 Fundamental Test Process
1.4.1 Test Planning and Control
1.4.2 Test Analysis and Design
1.4.3 Test Implementation and Execution
1.4.4 Evaluating Exit Criteria and Reporting
1.4.5 Test Closure Activities
1.5 The Psychology of Testing
1.6 Code of Ethics
2. Testing throughout the Software Life Cycle
2.1 Software Development Models
2.1.1 V-model (Sequential Development Model)
2.1.2 Iterative-incremental Development Models
2.1.3 Testing within a Life Cycle Model
2.2 Test Levels
2.2.1 Component Testing
2.2.2 Integration Testing
2.2.3 System Testing
2.2.4 Acceptance Testing
2.3 Test Types
2.3.1 Testing of Function (Functional Testing)
2.3.2 Testing of Non-functional Software Characteristics (Non-functional Testing)
2.3.3 Testing of Software Structure/Architecture (Structural Testing)
2.3.4 Testing Related to Changes: Re-testing and Regression Testing
2.4 Maintenance Testing
3. Static Techniques
3.1 Static Techniques and the Test Process
3.2 Review Process
3.2.1 Activities of a Formal Review
3.2.2 Roles and Responsibilities
3.2.3 Types of Reviews
3.2.4 Success Factors for Reviews
3.3 Static Analysis by Tools
4. Test Design Techniques
4.1 The Test Development Process
4.2 Categories of Test Design Techniques
4.3 Specification-based or Black-box Techniques
4.3.1 Equivalence Partitioning
4.3.2 Boundary Value Analysis
4.3.3 Decision Table Testing
4.3.4 State Transition Testing
4.3.5 Use Case Testing
4.4 Structure-based or White-box Techniques
4.4.1 Statement Testing and Coverage
4.4.2 Decision Testing and Coverage
4.4.3 Other Structure-based Techniques
4.5 Experience-based Techniques
4.6 Choosing Test Techniques
5. Test Management
5.1 Test Organization
5.1.2 Tasks of the Test Leader and Tester
5.2 Test Planning and Estimation
5.2.1 Test Planning
5.2.2 Test Planning Activities
5.2.3 Entry Criteria
5.2.4 Exit Criteria
5.2.5 Test Estimation
5.2.6 Test Strategy, Test Approach
5.3 Test Progress Monitoring and Control
5.3.1 Test Progress Monitoring
5.3.2 Test Reporting
5.3.3 Test Control
5.4 Configuration Management
5.5 Risk and Testing
5.5.1 Project Risks
5.5.2 Product Risks
5.6 Incident Management
6. Tool Support for Testing
6.1 Types of Test Tools
6.1.1 Tool Support for Testing
6.1.2 Test Tool Classification
6.1.3 Tool Support for Management of Testing and Tests
6.1.4 Tool Support for Static Testing
6.1.5 Tool Support for Test Specification
6.1.6 Tool Support for Test Execution and Logging
6.1.7 Tool Support for Performance and Monitoring
6.1.8 Tool Support for Specific Testing Needs
6.2 Effective Use of Tools: Potential Benefits and Risks
6.2.1 Potential Benefits and Risks of Tool Support for Testing (for all tools)
6.2.2 Special Considerations for Some Types of Tools
6.3 Introducing a Tool into an Organization