Test case design techniques

AshutoshGarg18 215 views 25 slides Feb 14, 2019
Slide 1
Slide 1 of 25
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25

About This Presentation

This slide deck is for all the QA members who want to understand the methodology of test case design. These slides are not theoretical gyan but designed based on experience.


Slide Content

Test case design techniques Webinar Ashutosh Garg

Brief about me I am Ashutosh Garg MBA in Finance and Marketing from IIM Lucknow (PGPWE) Department Manager at Mediatek Inc. Trainer and Writer on diverse topics like Agile, MS Excel, Negotiations, Communication, Content Marketing

Outline Suggested Approach for test case design Sample problem which we are solving Mind maps and usage in the sample problem Understanding what your objectives are Techniques for test case design

Approach

Mind Map A mind map is a graphical way of representing ideas and concepts. It helps you to structure information, helping you to understand the requirements in a better way, analyze them better and have fun as well! It helps to foster creativity, develop problem solving approach and representation in a concise format. Testing is all about ideas and creativity. At every stage one can use mind maps to organize and be creative. In this session, we are going to use mind maps for test case design.

Sample Mind map

Sample Problem Type of transaction Weekdays-Day time Weekdays-Night time Weekends Domestic 0.5% 0.75% 1.5% International 0.75% 1% 2% A credit card company will charge the following commission to a book based ecommerce portal based on the time of transaction The maximum purchase a person can do on the website is 100000 INR Need to design the test cases to check the commission calculation function (Server side can be ignored) This is the requirement given. Know thy requirement. Ask as many questions. Examples: When do we consider the day time to be over and when the night time to begin? Is the same cut off date for weekends also? How probable is that someone will do a order of 1 Lakh, are there that expensive items?

Mind map for the sample problem

Objective of the test case design

Mind map for the sample problem

Test case design techniques Specification based techniques This techniques try to take the external description of the product as input. This could be the technical specifications, design document or the client’s requirement to design the test case Structure based techniques This techniques try to take the internal structure of the product as input. These techniques comprehensively test the developed code Experience-Based techniques This techniques try to take the tester’s experience as the input. The outcome is based on skills, knowledge and expertise of the people involved. Black box techniques White box techniques Can be both, but generally blackbox

Specification based design techniques Technique Name Definition or Description Boundary Value Analysis As the name suggests, this technique is applied to explore errors at the boundary of the input cases. It aims to catch the potential errors at the boundary Equivalence Class Partitioning Since there might be numerous input cases, input data is divided into class which might show the same behavior. So instead of all cases from a class, a small representative set is chosen. Decision table testing Test cases are designed on the basis of decision tables that are arrived at using different combinations of inputs and their corresponding outputs. State Transition Diagrams Your software will transit from one state to the another. This transition is guided by different rules. We can develop test cases to test the rules and/or test the transitions Use case testing In this case the test case would be directly mapped to the business scenario or a end user functionality

Structure based techniques Statement testing coverage Decision testing coverage (Multiple)Conditional testing coverage All path testing coverage Not in scope of our discussion today

Experience based techniques Error guessing Exploratory testing

Equivalence class partitioning Based on the mind maps. Following partitions are clearly visible Transaction day [Mon – Fri][Sat-Sun] Transaction time [6 AM – 6 PM][6 PM-6 AM] Transaction Size [1 – 1000][1000-10000][10000-25000][>25000] Credit card number [0-4 digits][5-8 Digits][9-12 Digits][13-16 Digits] Other cases [Expiry date of Feb][Expiry date of Jan][Expiry date of April][Expiry date of Dec ][Expiry date of last year of Century] Equivalence Class Partitioning Since there might be numerous input cases, input data is divided into class which might show the same behavior. So instead of all cases from a class, a small representative set is chosen.

Boundary Value analysis Boundary Value Analysis As the name suggests, this technique is applied to explore errors at the boundary of the input cases. It aims to catch the potential errors at the boundary

Decision table testing Payment form is filled Transaction size is less than 1 lakh? Card Details are valid? Show error popup Card Details are correct? Show error popup Show error popup Successful transaction Yes Yes Yes No No No Decision table testing Test cases are designed on the basis of decision tables that are arrived at using different combinations of inputs and their corresponding outputs.

State Transition Diagram User Website Server Fills data on the website Sends to the server Response comes from server Response shown to user State Transition Diagrams Your software will transit from one state to the another. This transition is guided by different rules. We can develop test cases to test the rules and/or test the transitions

Will there be any overlaps? Yes. There will be. So do not make all cases from all techniques. Remember your objective and make accordingly. If your objective is a basic coverage, pick few important pieces from each. Remove the overlapping ones and design case If your objective is a exhaustive coverage, pick all cases from each. Remove the overlaps and design the case If your objective is bugs, ensure basic coverage using point 1 above. Identify potential buggy scenarios and add them as well.

Error guessing Error guessing techniques are based on the tester’s experience. It might be the general experience of the tester or his experience of testing a similar application or software Most of you who are experienced testers, know some niche areas where you will always find bugs. These come one or more of the following reasons Previous experience of testing similar applications Understanding of the system under test Knowledge of typical implementation errors Previously troubled areas Historical data Test results So based on your deep understanding of the software under test or your experience, design test cases which have high potential to find the bugs

Exploratory testing This is by nature not a test case design technique Exploratory testing is also known as free testing. Free testing is directly proportional to the tester’s mind. Tester’s creativity, exploring nature, understanding of the concept. Still in the world, a lot of real bugs are found in exploratory testing. You can use the mind map as the source and dig both broad and deep to uncover bugs. The key problem with exploratory testing is how to know coverage and gain confidence Session Based test management is the technique which can be used for it. If you want to learn it, register on this link:

Test cases are designed, what next?

Optimization When a feature or module or software is new, it will have more check-ins. So test case might need to run multiple times in a test duration. However, when the feature or module or software gets stable, it might not need so many runs and we can optimize both the number of cycles and also the test case# Consider a module which has 100 test cases the number of checkins in each month as below **Note: This is not a thumb rule, this depends purely on the business requirement in your organization

Chat with me [email protected] +919810134649 www.gargashutosh.com

UpComing Webinars (They are free as well!) Webinar on “First Step Towards Automation” https://www.townscript.com/e/first-step Webinar on “Session based test management” https://www.townscript.com/e/sbtm Join our free QA Community here on Whatsapp: https://chat.whatsapp.com/FERbQKIn7WwB6Q0eaT3QOK