1. Testing Concepts
This section lays the foundation for rest of the course. You’ll
see the importance of software testing and gain an appreciation for the
magnitude of the job. We explain what a software bug is, why they occur,
how serious they can be, and how software testing fits into the overall
software development process. You’ll learn what your ultimate goal
is as a software tester and the traits that will make you an effective
and efficient tester.
The Software Development Lifecycle gives you an overview of how a software
product is created in the corporate world. You’ll understand fundamental
testing terms and concepts, and why no matter how hard you try, software
can never be perfect. You’ll also learn the difference between software
testing and quality assurance.
- Introduction to software testing;
- Objectives of testing;
- Terms for software failures;
- Meaning of a software bug;
- Why bugs occur in software;
- The cost of bugs;
- Psychology of testing;
- The Software Development Lifecycle;
- Realities of testing;
- When to stop testing;
- Quality & Quality Assurance;
- Why complete testing is not possible;
- Why testing does not prove the absence of faults;
- Black box vs. White box testing;
- Verification & Validation;
- Multiple choice review questions;
2. System Test Management
The Fundamental Test Process
Software testing is not just about banging on the keyboard hoping you’ll
eventually crash the computer. It requires discipline and systematic planning
and preparation. This section will teach you the fundamental approaches
to software testing, basic and advanced system testing techniques, how
to find bugs, and how to apply testing skills to common testing tasks.
You’ll learn how to plan and document your test effort and how to
plan and create essential test documentation including the test plan.
You’ll also learn how to design and execute effective test cases
and test scripts.
- High Level Test Planning;
- Essential test documentation;
- Designing the test plan;
- Critical ingredients of a test plan;
- A sample test plan;
- Test Design Specification;
- Test Case Specification;
- Test Procedure Specification.
Test Case Design - Designing and Implementing
Test Cases
- Defining a test case;
- Characteristics of a good test case;
- Essential components of a test case;
- Objectives of test cases;
- Prioritising test cases;
- Designing test cases;
- Positive and Negative testing;
- Equivalence Partitioning;
- Boundary Analysis and Error Guessing;
- State transition testing;
- Designing scenario tests;
- Multiple Choice Review Questions.
3. Risk Management
Risk based testing
This section introduces you to risk and risk management. You’ll
learn the different types of risk, and why it is impossible to eliminate
risk in testing. You’ll also learn how to identify, prioritise and
manage risk effectively as well as a simple method to calculate risk in
a project.
- Introduction to risk;
- Definition of risk;
- Types of risk;
- Where to look for errors in software;
- Risk management planning;
- Risk identification;
- Risk analysis and assessment;
- Risk prioritisation and evaluation;
- A simple method to calculate risk;
- Multiple Choice Review Questions.
4. Common Testing Terminologies
Testing terminologies
In this section, you’ll gain a firm understanding of fundamental
testing terminologies including terms commonly used in the workplace.
- Acceptance Number;
- Alpha tests;
- Beta tests;
- Build;
- Bug Bash;
- Bug Review Committee;
- Cause and Effect Diagram;
- Defect;
- Deliverable;
- Error;
- Error condition checking;
- Failure;
- Failure Modes and Effects Analysis (FMEA);
- Flowchart;
- Heuristic analysis;
- Oracle;
- Quality;
- Quality assurance;
- Reliability;
- Schedule crunch;
- Software Inspection;
- Source code;
- Specification;
- Spec complete;
- Stakeholder;
- Symptom.
5. Test Methodologies
Types of test techniques
This section describes the main types of software testing techniques,
and applies them to real-world scenarios that you’ll encounter as
a software tester. It describes the intent of each technique, and will
help you attain strong technical expertise in fundamental testing methodologies
that are used to ensure applications perform at or above expected levels.
- Component or unit testing;
- Integration testing;
- System testing;
- User Acceptance testing;
- Performance testing;
- Load testing;
- Stress testing;
- Regression testing and retesting;
- Compatibility testing;
- Configuration testing;
- Functional testing;
- Non-functional testing;
- Smoke testing;
- Sanity testing;
- Repetition testing;
- Adhoc (Exploratory) testing;
- Requirements testing;
- Security testing;
- Volume testing;
- Multiple Choice Review Questions
6. Test Tools and Automated Testing
CAST (Computer Aided Software Testing) tools and automation
Learning how to use automated test tools is probably the quickest and
most effective way to get a top paying position in the highly lucrative
field of system testing. This section introduces you to automated testing,
the various types of test tools, and how to use computers and software
to test other software. You'll learn different methods for automating
your tests, when to automate and when to run manual tests.
You'll also learn steps you can take to get FREE computer
based training in Mercury Interactive tools including
Test Director, LoadRunner and Quick Test Professional.
You'll be able to download step-by-step tutorials and evaluation copies
of these tools to your computer. All of these tutorials are supported
by extensive hands-on exercises based on real-life examples. Mercury
Interactive is currently the hottest name in QA and Testing,
and learning to use their test tools will significantly enhance your testing
career.
- Introduction to automated software testing
- The case for automation
- Types of CAST tools
- Manual vs. Automated testing
- Getting free training in Mercury Interactive tools
- Multiple Choice Review Questions
7. Bug Tracking Systems
Reporting and analysing bugs
This section teaches you how to report a bug, how to isolate the steps
necessary to make it recur, and how to describe them so that programmers
will understand and want to fix them. The ultimate goal of this section
is to explain how to use the bug report form to communicate effectively
with project managers and programmers.
- Definition of a Bug;
- A Bug’s Lifecycle;
- Tactics for analysing a bug;
- Isolating and reproducing bugs;
- Writing effective bug reports;
- Classifying bugs;
- The Test Incident Report;
- Multiple Choice Review Questions.
|