View
40
Download
0
Category
Tags:
Preview:
DESCRIPTION
See Software testing as startup level
Citation preview
SOFTWARE TESTINGParekh Jigar H
GOAL OF TESTING
Executing a program with the intent of finding an error. To check if the system meets the requirements and be
executed successfully in the intended environment. To check if the system does what is to be expected to
do. Evaluate properties of software
Reliability Performance Memory usage Security Usability
SOFTWARE DEVELOPMENT MODELS
Waterfall model Spiral or Iterative Model V Model Modified V Model Prototyping Model RAD Model
TYPES OF SOFTWARE TESTING
White Box Testing Black Box Testing Integration Testing System and Acceptance Testing Performance Testing Regression Testing
WHITE BOX TESTING
White box testing takes into account the program code, code structure, and internal design flow.
White box testing reduce the delay between the injection of a defect in the program code and its detection.It is based on coverage of code statements , branches , paths , condition
WHITE BOX TECHNIQUE
Statement coverage execute all statements at allpath coverage program is split in to various pathCondition coverage execute each decision with all possible
outcomes at least onceFunction coverage how many times a given function is
called
BLACK BOX TESTING
Black box testing test from customer’s view point. Black box testing helps in the overall functionality verification of the system under test.
Black box testing is done based on requirements Black box testing addresses the stated requirements. Black box testing handles valid and invalid inputs.
TECHNIQUES OF BLACK BOX TESTING
Requirements based testing Positive and negative testing Boundary value analysis Decision tables State based testing Compatibility testing
TECHNIQUES OF BLACK BOX TESTINGRequirements based testing:
Requirements testing deals with validating the requirements given in the SRS.
Positive and negative testing:give valid input suppose to do. And give invalid inputs to check product does not fail though unexpected input
TECHNIQUES OF BLACK BOX TESTING
Boundary value analysis:most defects occurs due to boundary and conditionscheck boundary of resources, data types or databases
Decision table:steps:
identify decision variablesidentify possible values of each of the decision variablesidentify the cases for each combination of values of decision variables list
result or action Form a table Each row act as acts as the specification for one test case
TECHNIQUES OF BLACK BOX TESTING
State based testing:It is very useful where the product is language processor where in the syntax of the language automatically lends itself to a state machine.
Example:Validate number1)A number can start an optional sign2)The optional sign can be followed by any number of digits3)digits can be optionally followed by a decimal point, represented by period4)if decimal point , then there should be two digits after the decimal5)termination should be by blank
TECHNIQUES OF BLACK BOX TESTING
State based testing Example :validating numbers
1 2 3 4 5
6
Digit
+ or -
Digit
Digit Digit
BlankBlank
Decimalpoint
TECHNIQUES OF BLACK BOX TESTING
State based testing Example :validating numbersState transaction table for validating numbers
Current state
Input Next state
1 Digit 2
1 + 2
1 Digit 2
2 Blank 6
2 Decimal point
3
2 Digit 4
4 Digit 5
5 Blank 6
TECHNIQUES OF BLACK BOX TESTING
Compatibility testing:Parameters that generally affect the compatibility of the product
are Processor Architecture and characteristics of the machine(32 bit, 64bit) Resource availability on the machine(RAM, disk space, network
card) Operating System and its services(modem, routers)
INTEGRATION TESTING
Integration is defined as the set of interactions among components.
Testing the interaction between various modules.
Modules can be
Code module Individual applications Client/server applications on a network
TECHNIQUES OF INTEGRATION TESTING
Top down integration Bottom up integration Bi-directional integration System integration
TOP DOWN INTEGRATION
Component1
Component2
Component3
Component4
Component6
Component7
Component5
Component8
BOTTOM-UP INTEGRATION
Component8
Component5
Component6
Component7
Component2
Component3
Component1
Component4
BI-DIRECTIONAL INTEGRATION
Component1
Component6
Component7
Component8
Component3
Component4
Component2
Component5
SYSTEM AND ACCEPTANCE TESTING
To verify that the system components perform control function
To perform inter system test To demonstrate that the system performs both
functionally and operationally as specified To perform appropriate types of tests relating to
transaction flow, installation, reliability, Regression etc.Inputs:
Detailed requirements & external application DesignMaster test planSystem test plan
QUALITY FACTORS OF SYSTEM TESTING
Performance testing: comparison with old version or competitive product
Scalability testing: maximum capacity of the productReliability testing: determines the evaluation time to
processStress testing: to evaluate a system beyond the limits
of specified requirements ,to ensure it does not break
Interoperability testing: to check two way communication between two or more products
Localization testing: products in different language
ACCEPTANCE TESTING
The end user runs the system in their environment to evaluate whether the system meets the criteria. The outcome determines whether the customer will accept system. This is often part of a contractual agreement.
Acceptance criteria:
Product acceptance Procedure acceptance Service level agreements
PERFORMANCE TESTINGTesting how well an application complies to performance requirementsIt is often performed using an automated test tool to simulate large number of users.Steps:
collecting requirements writing test cases automating performance test cases executing performance test case analyzing performance test result performance tuning performance benchmarking recommending right configuration
REGRESSION TESTINGTo ensure that
The changes or additions work as designedThe changes or additions do not break something that is already working and should continue to work
When regression testing?1. A reasonable amount of initial testing is already carried out2. A good number of defects have been fixed3. Defects fixes that can produce side effects are taken care
off
METHODOLOGY FOR REGRESSION TEST CASES
1. Regress all :Test all priority test case2. Priority based regression: Run test case priority base3. Regress changes: changed code is tested4. Context based dynamic regression: A few Priority test cases
are selected and based on the context test cases are re executed
Recommended