2. Table of Contents

Software Testing Overview
1)       Software Testing = Creative Destruction
2)       Objective of Testing
3)       Testing then … the last Stage
4)       Testing now … at each stage
5)       What testing can not show ?
6)       Can software defects be prevented ?
7)       Why does software have bugs? - I
8)       Why does software have bugs? – II : Illustrated
9)       Why does software have bugs? – III
10)     Consequences of software defects ?
11)     Later an Error is found, the more it costs to fix
12)     Risk of Code Changes
13)     What is V&V ?
14)     What is the difference between QA & QC ?
15)     Apparently simple, may be quite complex
16)     Test Targets

Testing Methodologies
17)     Testing Methods
18)     Inspections
19)     Walkthroughs
20)     Software Requirements
21)     Testable Requirements : an example
22)     Test Cases : Illustrative Sample Test-Data
23)     Unit Testing
24)     Functional Testing
25)     Component Testing
26)     Module Testing
27)     Integration Testing
28)     End-to-end Testing / System Testing
29)     UAT : User Acceptance Testing
30)     Sanity Testing or Smoke Testing
31)     Black-box, Gray-box & White-box Testing
32)     Defect Seeding – as part of White-box Testing
33)     Coverage of Conditions in White-box Testing
34)     Usability Testing
35)     Regression Testing
36)     Destructive Screen-based Testing
37)     Load Testing
38)     Stress Testing
39)     Testing Error Handling
40)     Disaster Handling & Recovery
41)     Testing for Concurrency
42)     Various Other Types of Tests
43)     Testing Web Applications : Additional Aspects
44)     Object Oriented Testing (OOT)

Developing Test Cases
45)     Testing Terminology & Test Artifacts
46)     Test Cases Properties
47)     Testing : What not to do ?
48)     Planning, Prioritisation & Risk Analysis
49)     Testing and the Pareto Principle
50)     Requirements Traceability
51)     Illustrative Design for Requirements & Test Cases
52)     Sample ER-Diagram of  Test Cases Tables
53)     Equivalence Partitioning (EP)
54)     Orthogonal-array Testing (OAT)
55)     Error Guessing (EG)
56)     Boundary Value Analysis (BVA)
57)     Cause Effect Graphing (CEG)
58)     State Machines (SM)
59)     Decision Tables (DT)
60)     Basis Path Testing (BPT)
61)     Test Documentation

Test Automation
62)     Test Automation for the “Testing Times”
63)     Testing & Exigencies in the Real World
64)     What to automate?
65)     What not to automate?
66)     Automation helps find more bugs?
67)     Automation helps reduce testing staff?
68)     Test Automation Stages
69)     The Problems of the Traditional Manual Testing
70)     Benefits of Automating Testing
71)     Reasons why pace of test-automation is slow ?
72)     Components for Comprehensive Test Automation
73)     Test Automation : Facts & Fiction

Software Testing Tools
74)     Testing Tools / Testware
75)     Recording & Playback Tools
76)     What is Rational Robot and how it can help ?
77)     How is Rational Robot practically used ?
78)     WinRunner
79)     Segue's SilkTest
80)     LoadRunner
81)     Software Testing Tools List

Promoting Quality Testing
82)     Measuring Quality of Testing
83)     Model Based Testing (MBT)
84)     Extreme Programming (XP) & “Extreme Testing (XT)”
85)     UML based Specs to Design Tests
86)     Promoting Quality Testing
87)     CMM & Testing
88)     7 Habits of  Highly Effective Testers.
89)     Ensuring Quality : A Case for Manadatory Test Suite with each Software Product

Automated Functional Testing Methodology
90)     Test Automation is NOT mere usage of Tools
91)     Broad Automation Components
92)     Domain TestWare
93)     TestWare for Specific Target in the Domain
94)     Test Cases & Test Documentation
95)     Test Data
96)     Test Automation Artefacts
97)     Functional Testing &  Test Automation Strategy
98)     Test Repository
99)     Significant Benefits of using RDBMS for Test Repository
100)   Test Cases : Generic Banking Example
101)   A very simple Test-Case example
102)   Creating Good Test-Cases : Check for Illegal & Legal Data
103)   Alternate ways to Create Source Test-Data
104)   Computing / Storing Expected Results
105)   Extracting Test-Cases from Existing Target DB
106)   Front-end Operational Testing
107)   Do illegal column datatypes get through ?
108)   Testing Screens for illegal column values
109)   Testing Screens : Do illegal rows get through ?
110)   Testing Screens for Correct Inserts/Updates
111)   Testing Batch Processes – not requiring BoD/EoD
112)   Tests requiring BoD, EoD, Roll forward
113)   Verifying A/c Balances : Ultimate (?) Check
114)   Regression Testing-I : Prepare Reference DB
115)   Regression Testing-II : Create New DB & Compare
116)   Exhaustive Regression Testing
117)   Parallel Run of  Old & New Version
118)   Guidelines for Selecting Test-Data
119)   Testing Requirements & How to address them.

Agile Testing
120)   Agile Methodology & Agile Testing
121)   Agile vs. Traditional : Comparison Chart
122)   Practical Example of Agile Testing

Dilbertian Digression
123)   Quiz for Software Tester
124)   Answers to the Quiz
125)   Responses of Developers to Bugs
126)   “Laws” of Testing & Other Related “Laws”
127)   Coping with the Dilbertian World

Appendix-A
128)   Test-Certificate cum Details for Screens/Forms
129)   Test-Cases/Data Check-List

Appendix-B
130)   Select Acronyms & Glossary