2. Agenda
– Why Documentation???
– IEEE 829 for Test Case Specification
– What is Test Data?
– Advantages of accurate Test Data and its documentation
– Practice…..
– Test Design Techniques aiding test data identification
• Boundary Value analysis
• Equivalence Partitioning
• State Transition diagram
• Decision Table Testing
– Conclusion
INTERNAL - Presentation title goes here. 2
3. The width of the placeholder can be altered depending
on the dimension of your image. Do not increase the
height of the image more than this grey box. The right
gradient bar should always be aligned with the logo.
The left gradient bar can be moved to left-align with the
image as shown in this example.
Test Data Documentation
The Power of Test Data!!!
Every Discussion on Software
development process concludes
with a loud and clear but obvious
conclusion “We need to adopt the
best practices in the industry”.
Lets start with one today!!!
INTERNAL
4. Test Data
Test data should be developed by a tester and must contain a sample of every category of valid data as
well as many invalid conditions as possible.
FACTS
• Preparing proper test data is part of the test setup
– Some data may be used in a confirmatory way, typically to verify that a given set of input to a given function
produces some expected result.
– Data may be used in order to challenge the ability of the program to respond to unusual, extreme,
exceptional, or unexpected input.
• Test data may be produced in a focused or systematic way as is typically the case in domain testing
or by using less-focused approaches
• Test data may be produced by the tester, or by a program or function that aids the tester. This data
may be recorded for re-use, or used once and then forgotten.
• The test data may be any kind of input to application, any kind of file that is loaded by the application
or entries read from the database tables. It may be in any format like xml test data, system test data,
SQL test data or stress test data.
INTERNAL - Presentation title goes here. 4
5. Why Documentation….???
• Documentation can save an organization’s time, efforts and money and helps in acceptance.
• Document what is required for you to understand your work and what you will need to
produce to your stakeholders whenever required.
• There are many documents used in software testing life cycle.
• Here I am listing few important software testing documents that we need to use/maintain
regularly:
1. Test plan
2. Test design and Test case specification
3. Test Strategy
4. Test summary reports
5. Weekly Status Report
6. User Documents/ manuals
7. User Acceptance Report
8. Risk Assessment
9. Test Log
10.Bug reports
11.Test data
12.Test analysis
INTERNAL - Presentation title goes here. 5
6. IEEE 829: Test Case Specification Standard
• Test Case Specification specifies the test data for use in running the test conditions identified
in the Test Design Specification
Input Specifications
• Data Names
• Ordering
• Values (with tolerances or generation procedures)
• States
• Timing
– The exact input values that will be input and the values of any standing data that is
required,
– The exact output values and changes of value of the internal system state that are
expected,
– And any special steps for setting up the tests.
• Lack of test data can become a risk to testing
INTERNAL
7. Advantages of proper Test data and its documentation
• Generating test data for a range of test cases will save time and money
• By efficiently creating suitable test data, accurate verification is possible
• Test Data Documentation helps in enriching it with required manipulation and version control
– This test data can be used for further regression saving time and efforts.
– This Test Data can be effectively utilized by the users performing the acceptance tests also
– This data helps in fixing issues caused due to lack of documents
• Brings a systematic approach for building test data without which,
– While writing and executing test cases, there are chances of missing some important test cases
– An important test could be missed by improper test data
• Helps to synchronize our quality process with documentation standards and other process of the
organization and reduce the defect rejection caused by Test Data issues
• Ensure Test Coverage in terms of more scenarios covered than through the Test procedure
specification ensure all combinations of data exist
It’s every testers responsibility to create his/her own test data according to
testing needs.
INTERNAL
8. PRACTICE…..
• Customize a Test Data template to your needs based on your tests.
• Add/insert your own data sets in the available database.
• It’s a good way to design test data, append your new test case data to the
existing test bed thus having Comprehensive test data.
• Keep your valuable input data collection intact i.e. keep personal copies of
the same data. It may be of any format like inputs to be provided to the
application, input files such as word file, excel file or other photo files.
• Before executing any test case on existing data make sure that data is not
manipulated or corrupted and application applies to the same.
• Check and update the test data before execution of any test case.
• Record and link test data to the Test Scripts ensuring test coverage
• - more to come
Powerful test data design powered by test data creation - two key elements
to guarantee the effectiveness of your testing
INTERNAL
9. Test Design Techniques aiding test data Identification
1. Boundary Value analysis
2. Equivalence Partitioning
3. State Transition diagram
4. Decision Table Testing
These test design techniques can effectively aid in the test
data identification directly or indirectly.
INTERNAL
10. Equivalence Partitioning
• If software behaves in an identical way for a set of value, then the set is termed
as equivalence class or a partition and can be assumed safely that functionality
of the software will be same for any data value from the equivalence class or
partition.
• It is an attempt to get a good 'hit rate', to find the most errors with the smallest
number of test cases.
• A Technique that divides the input data of a software unit into partitions of
data.
E.g.: If you are testing for an input box accepting numbers from 1 to 1000 (example
will be changed)
1. The valid class ( 1 to 1000)
2. The invalid class (< 0)
3. The invalid class ( > 1000 )
INTERNAL
11. Boundary value Analysis
• The boundaries of software component input ranges can be effectively addressed.
• Concentrate the testing effort on error prone areas by accurately pinpointing the
boundaries of conditions.
IDENTIFY EQUIVALENCE CLASSES
– For example, if the output specifications for the inventory system
stated that a report on inventory should indicate a total quantity for
all products no greater than 999,999, then you d add the following
classes to the ones you found previously:
Test data exactly as the input boundaries of input domain (i.e. 1 and 1000)
1. Test data with values just below the extreme edges of input domains i.e. values 0 and
999.
2. Test data with values just above the extreme edges of input domain i.e. values 2 and
1001.
INTERNAL
12. State Transition & Decision Tables
• Decision tables help in Cause Effect Analysis
• The logic that can be structured is:
Cause = Condition
Effect is action = Expected Results
State Transition technique includes all the valid and
invalid combinations of test data.
These diagrams can be effectively direct our test efforts
in identifying the test data and thereby
INTERNAL
13. Conclusion
Although all of us do accept
that comprehensive
test data preparation is a time
consumingand tedious task and at times would prove to be impractical, with such a powerful test data, testing can be the Best of it.
Lets enjoy being the best testers through
Proper Test Data.
INTERNAL