Software Testing Techniques: A good TEst Case: Effective, evolvable, economic, easilu understable, should not be confusing..... ...

We use Testing Techniques for deriving good test cases. Why Testing techniques: 1. exhaustive testing ( use of all the possible inputs and conditions- is imprac tical 2. thought process is needed for a tester, which helps him to select the test ca ses more intelligently. Definition: A procedure for selecting or designing the tests based on structura l or functional part of the application. Advantages: 1. effective testing, finding more faults 2. focus attention on specific types of faults 3. different people similar probabilty of faults. Different types: Static Testing Techniques Dynamic testing Techniques Static Testing Techniques: Reviews, Inspection, walkthrough, technical reviews PMP , BRS, SRS, FRS, HLD, LLD, TP, TC, TS, DR, Dynamic Testing Techniques Blackbox testing techniques & White Box Testing techniques WTT: 1.Unit testing a. execution testing: During this process, a programmer have to go for complete execution of the entire programs which are written for the application. basis path coverage: checking the logical statement errors and verifying whether every statement is participating in the test execution Loop termination: checking whether every loop is participating in the test execu tion or not. b. Operating Testing: verifying whether the application build is working on all platforms like windows 7, vista, xp, Mac, unix, ....etc and verifying it is sup porting the web browsers like internet explorer, firefox, chrome, safari,... c. mutation testing: In this process, the programmers will modify the programs h ere and there to encounter the errors. 2. Integration Testing: Top - Down approach, Bottom - Up approach, hybrid, Big b

ang BTT : Usability testing, functional testing, performance testing, security testi ng 1. Usability testing: a. user interface testing : verifying the cosmetic functionalites available in t he application. ease of use, look and feel, spell checks and labels, written allignment, graphic al checking, user friendliness b. manuals support testing: verifying and validating all types of documents like , pdf files, help documents. 2. Functional Testing: a. functionality testing: validates all types of customer business requirements. it is requirements testing. b. input domain testing: validates size, type and range of inputs - equivalance class partitioning, boundary value analysis c. Inter system testing: validating our software's coexistence with already exis ting softwares in the system d. recovery testing: whether the application is able to recover from abnormal co nditions by using bacck up process. e. configuration testing: validating whether the application build is supporting diff hardware devices like printers, NIC cards, topologies etc. f. compatibility testing: validating whether the application is able to run on d iff Os's and browsers g. installation testing: whether able to install using installation guide or not . h. comparision testing / parallel testing: compare new version build in order to find the difference in the req enhancements. comparing our current product with other company products... i. sanitation testing: verifying the extra features of the application added for the current project. 3. Performance testing: a. load testing: validating whether lot of users able to access the application b. stress testing: validating whether lot of users able to access the applicatio n for longer hours or not. 4. security Testing: a. authentication testing / authorization testing b. access control testing

1. Equivalance class partitioning: valid or invalid input classes ECP will drastically reduce the no of test cases used to test an application. example 1: username suman sri ram ravi rani deepak raj ramu Role customer finance pro employee agent employee finance pro customer customer Rights view, add, view, add, view, add view view, add view, add, view, add, view, add, update delete, update,

delete, update update update

note: identify similar functionalities and divide them equally divide the inputs and outputs assumptions: if any one value works, all will work role financial pro customer employee agent username sri suman ram ravi rights v,a,d,u v,a,u v,a v

example 2: If an item in inventory can have a quantity of -9999 to 9999, identif y the equivalence classes sol: valid partition: -9999 to 9999 (-9999 to 0 to 9999) Invalid partition: anything less than -9999 and greater than 9999

example 3: max of 4 purchase orders are allowed for customer sol: valid partition: invalid partition: 1 to 4 less than 1 and greater than 4

example 4: discount code is p for prefered employee, R for satisfactory employee , N for avaerage employees. sol: valid partition: p,r,n invalid partition: if code is not one of p,r,n example 5: program accepts 1 to 100 characters, divide the equivalence classes sol: valid partition: 1 to 100 invalid partition: less than 1 and greater than 100 2. Boundary Value Analysis: size range and type inputs A technique in the test case that explores the boundary conditions as it has hig her probabilty of detecting the errors. ex: 1 - 100 minimum - pass - 1 maximum - pass - 100 minimum - 1 - fail maximum - 1 - pass minimum + 1 - pass maximum + 1 - fail -

0 99 2 101

valid boundaries: min, max, min+1, Max-1 invalid boundaries: min-1, max+1 example: The user selects type A policy from the drop down box. the system ask for age. the age should be greater than 16 years and less than 80 years. prepare the bva and ecp 1. Boundary value Analysis: condition: 1. age > 16 years 2. age < 80 years conditons values Minimum(>16) 17 Maximum(<80) 79 Minimum-1(17-1) 16 Maximum-1(79-1) 78 Minimum+1(17+1) 18 Maximum+1(79+1) 80 Results Pass Pass Fail Pass Pass Fail

2. Equivalance Class Partitioning Conditions: 1. Ranges only. Valid Range invalid Range numerics0-9 A-Z a-z blank space special characters example 2: login application, username allows 4 - 20 characters along with alphabets and nu merics in lowercase. password allows only alphabets 4 - 10 characters in uppercase. prepare bva and e cp? 1. BVA for username: conditions: 1. 4 to 20 characcters - alphabets and numerics 2. lowercase conditions min values Results 4 pass

ECP for username: conditions: ranges only valid partition a-z Blank Space Special characters 0-9 2. BVA for password: invalid partition A-Z

conditions: 1. 4 to 10 char - alphabets 2. uppercase conditions values Results ECp for password: Valid Partition A-Z invalid partition a-z Blank Space Spec char 0-9 3. Cause effect graphs Cause Effect Graphs Causes - Graphical represntation of the inputs Effects - Graphical representation of the outputs causes - different coding, improper handling, anti virus, replication.....etc effect - server crash or system breakdown .....etc Testing Process related Documents: Requirements Documents or Use Case Documents (RD or UCD) Functional Point Document (FPD) Test Scenario Document (TSD) Test Case Document (TCD) Defect Profile Document (DPD) Traceabilty Matrix: It is a document which contains the table of linking information used for tracin g back for reference. In any kind of confusion or for any questionable situation.......... Types of Test Cases: Test cases are broadly divided into 3 types...... 1. GUI Test Cases: checking availability and consistency of objects, their alli gnment, font size, spell check, grammer.... 2. Functional Test Cases: subdivided into two types: positive test cases and negative test cases Positive Test Cases: should have positive mind set, consider positive flow of th e application, use only valid inputs. Negative Test Cases: negative mind set, negative flow, use atleast one invalid i nput for each set of data. 3. Non Functional Test Cases:

related to usability testing, compatility, performance, installation