Date post: | 25-Dec-2015 |
Category: |
Documents |
Upload: | francine-cain |
View: | 221 times |
Download: | 0 times |
Smart Test Services Software Test Methodology - An Introduction
1
Software Test Methodology – An
Introduction
By:Girish Krishna K
STS
Smart Test Services Software Test Methodology - An Introduction
2
• What is testing?– Testing is the Process of Certifying a product to
be bug free and verifying its compliance with User Requirements.
– It is the process of running a system with the intention of finding errors.
Software Testing – An Introduction
Smart Test Services Software Test Methodology - An Introduction
3
Software Testing – Why To Test
• Why Test ?– In any project 50 % of the project costs goes in
testing related activities.– The cost to company in solving errors reported
by the client is huge.– The legal implications following the delivery of
an under tested product is un imaginable.
Smart Test Services Software Test Methodology - An Introduction
4
• Typical Problem scenario in a development project.– Communication gaps between the developer
and the business decision maker.– Time provided to a developer to complete the
project.– Over commitment by the developer.– Insufficient testing and quality control.– Inadequate requirements gathering.
Software Testing – Problem Scenario
Smart Test Services Software Test Methodology - An Introduction
5
Software Testing – Way Out
• How can we over come these problems?– Issues like communication gaps, time
constraints and commitment details can be resolved by having regular interactions with the client.
– Issues like quality control and inadequate requirements gathering can be got to the lime light if the testing process is more defined.
Smart Test Services Software Test Methodology - An Introduction
8
Software Testing – Services• What are the Different
Services that we offer?– Functionality Testing.– Performance Testing.– Usability Inspections.– Test Automation Services.
Smart Test Services Software Test Methodology - An Introduction
9
Software Testing – Functionality Tests
• What do u mean by Functionality Testing?– Functionality tests verify that the Product under
test complies with the working requirements laid down by the client / customer.
– Functionality testing is a 3 stage process that helps in improving the quality of the product. The 3 stages being the UNIT, INTEGRATION and the SYSTEM TEST phases.
Smart Test Services Software Test Methodology - An Introduction
10
Software Testing – Unit Tests
• What do we understand by Unit Testing?– Unit testing looks at the product as a programmatic unit
such as a class.
– Like a box with a set of inputs and a set of outputs through which all communication between the box and its environment must flow.
– In simple terms the code flow is known to the developer.
– Also known as White Box Testing.
Smart Test Services Software Test Methodology - An Introduction
11
Software Testing – Integration Tests
• Integration Testing?– Integration tests target the program interfaces
between the various modules of an application.– There are 2 types of integration test techniques
that can be adopted.• Top Down Approach.
• Bottom Up Approach.
Smart Test Services Software Test Methodology - An Introduction
12
Software Testing – Top Down
• Top Down – In Top Down we test the High level control routines, with the middle level control
routines present only as stubs.• In this case we test Class A first by
having stubs for Class B and Class C.
• Class B is tested by having stubs for Class D and Class E.
• Similarly Class C is testing by stubbing Class F and Class G.
Smart Test Services Software Test Methodology - An Introduction
13
Software Testing – Bottom Up
• In the Bottom Up approach the lowest level modules are tested first.
• In this Example Class D and Class E are tested with the help of a driver simulating the interface of Class B.
• Similarly Class F and G are tested.• Now the drivers for Class B and Class C
is replaced with the working code and these classes are tested with the driver simulating the interface of Class A.
• Finally the driver for Class A is replaced with the original working code and the block is tested for its complete functionality.
Smart Test Services Software Test Methodology - An Introduction
14
Software Testing – System Tests• System Tests are carried out to check for
compliance of the product with user requirements.• The primary objective of the system tests are to
ensure that the software will operate as intended in the production environment without problems.
• It corresponds with the SRS phase in the V model diagram.
• System testing is more Black box oriented as the code flow is not visible to the tester.
Smart Test Services Software Test Methodology - An Introduction
15
Software Testing – Regress a System
• What does one mean by Regressing the System?– A system can be regressed in 2 ways- – First to check that the bugs reported are fixed or
not.– Second to check that existing functionality is
not altered when the bugs reported are being fixed.
Smart Test Services Software Test Methodology - An Introduction
16
Software Testing – Acceptance Tests
• What does one mean by Acceptance tests?– Targets the compatibility, interoperability,
usability etc– Evaluation of the product by the customer /
client – Usually not a complete test but a part execution – Customer satisfaction and certification
Smart Test Services Software Test Methodology - An Introduction
17
Time for a Break Isn’t It
We meet again in 15 minutes.
Smart Test Services Software Test Methodology - An Introduction
18
Software Testing – Recap…
– What is Testing?– Why do we need to test ?– What are the different types of testing?– What is Unit Testing?– What is Integration testing?– What are the 2 types of Integration testing?– What is Top down approach?– What is Bottom Up Approach ?
Smart Test Services Software Test Methodology - An Introduction
19
Software Testing – Recap…
– What is System Testing?– What is Regression Testing?– What is Acceptance testing?– What is black box testing?– What is white box testing?
Smart Test Services Software Test Methodology - An Introduction
20
Software Testing – Performance Tests
• Performance Tests assess the performance of the software by simulating the real-world use of the application.
• This will help identify, isolate, and analyze performance bottlenecks anywhere in the application.
• ensures that the application will perform as required once deployed.
Smart Test Services Software Test Methodology - An Introduction
21
Software Testing – Performance Tests
• How can one bench mark the performance of any application?– Bench marking of any application is not a
single step process.– It involves performing a series of tests on the
application and comparing the results with the accepted bench marks defined by the client.
Smart Test Services Software Test Methodology - An Introduction
22
Software Testing – Types of Performance Tests
• When we talk about bench marking the performance of an application we need to subject the system to a number of tests like· Load tests
· Stress tests
· Duration Tests
Smart Test Services Software Test Methodology - An Introduction
23
Software Testing – Load Test
• Load tests are designed to test client or server response times under varying load conditions.
• load tests also help to compute the maximum number of transactions a server can handle in a given time period.
• when a client/server system uses load balancing or a distributed architecture, load testing can help ensure that the load balancing or distribution methods work as designed.
Smart Test Services Software Test Methodology - An Introduction
24
Software Testing – Stress Tests
• Stress testing is the process of running your client application under extreme conditions to see if they or the server "break."
• Extreme conditions mean denying the resources that the application needs for normal functionality.
• We test the application for its stress bearing capacity by:Continuously running a client application for many hours.
Smart Test Services Software Test Methodology - An Introduction
25
Software Testing – Stress Tests Cont.
Performing a large number of transactions.Having hundreds of users perform the same operation or a specific combination of operations at virtually the same moment.We also test the performance of your application by subjecting it to following conditions:
· Insufficient memory.· Unavailable services or hardware,· Diminished shared resources on the system-
under-test.
Smart Test Services Software Test Methodology - An Introduction
26
Software Testing – Duration Tests
• In Duration Tests the application under test is made to run for days.
• The main objective is to test the system for robustness across a prolonged period and also to check for internal programmatic errors.
• Also to check the error handling mechanism of the application.
Smart Test Services Software Test Methodology - An Introduction
27
Software Testing - Usability Tests
• What is this Usability Testing?– Usability is the degree to which a user can
successfully learn and use a product.– When we evaluate the product, the main focus
rests on the compliance of the application to user requirements.
Smart Test Services Software Test Methodology - An Introduction
28
Software Testing - Usability Tests
• The different aspects that get addressed by usability inspections are:– Global usability: Measuring as to how usable
the application or web site is.– Affect: Measuring the comfort level of the user
while using the application or web site.– Helpfulness: The help offered when the user
faces difficulties while using the application or web site.
Smart Test Services Software Test Methodology - An Introduction
29
Software Testing - Usability Tests
– Learnability: Measuring the time factor to get familiarized with the application or web site.
– Efficiency: Measuring the user inputs required for user action.
– Control: Measuring the response of the application or web site when the user performs an action on a continuous basis.
Smart Test Services Software Test Methodology - An Introduction
30
Software Testing – Test Automation Services
• Automated testing can provide several benefits when it is implemented correctly and follows a rigorous process.
• the potential benefits of automation are: – Building of a reliable system.
– Improvement of the quality of the test effort.
– Reduction of the test effort and schedules.
– Maintaining a central repository of all test assets.
– Reusability of programming efforts .
Smart Test Services Software Test Methodology - An Introduction
31
Software Testing – When to Automate
The different factors that help u to decide as to when to automate are:– The test sequence of actions can be defined
– The test sequence of actions is repeated
– A non-UI aspect of the program needs to be tested
– The same tests need to be executed on multiple hardware platforms
The behavior of the software under test remains the same with and without the automation
Smart Test Services Software Test Methodology - An Introduction
32
Software Testing – Automation Tools
The different tools that we use for automation are:
Rational Robot,
Rational Visual Test,
Mercury Win Runner,
Seague Silk Test.
Smart Test Services Software Test Methodology - An Introduction
33
Test DocumentationDocuments• Test Plan for the Project• Test Case Documents One for each Requirement to be Tested (as mentioned in SRS) for
instance functionality testing and/or performance testing
Records• Test Reports
One for each Requirement
• Defect Log• Review Reports
Smart Test Services Software Test Methodology - An Introduction
34
Test Plan• Identifies the features covered during
testing
• Each feature in the SRS mapped to a Test Case ID
• The test cases are designed and documented in the Test Report format
• Deliverables at Testing Phase shall be identified in Test Plan
Smart Test Services Software Test Methodology - An Introduction
35
Test Report
• Each test report has a unique ID as mentioned in the test plan
• Each test report covers – Test Prerequisites
– Execution Details
– Wrap-up Details
– Test Cases
– Test Results
Smart Test Services Software Test Methodology - An Introduction
36
Test Case Design• Test Case ID
– Unique identification number which relates to individual elements of SRS
• Test Case Structure– Serial No.
• identifies unique serial no. of sub test case related to individual test category
– Data Input (and Description)– Expected Result
• Output to be produced– Actual Result
• Actual result after executing the test case
Smart Test Services Software Test Methodology - An Introduction
37
Defect OverviewSeverity of the defect shall be determined as
follows• H - High severity defect
System crash / Incorrect data which impacts other regions / etc.)
• M - Medium severity defect (Execution can continue / Incorrect data which does not
impact other regions / etc.)
• L - Low severity defect (Aesthetics / Message wording / Menu options / Wrong
alarms / Help problems / etc.)
Smart Test Services Software Test Methodology - An Introduction
38
Defect Tracking Tools
• The various defect tracking tools used are:– Rational DDTS– Rational Clear Quest– PVCS Online Tracker
Smart Test Services Software Test Methodology - An Introduction
39
Software Testing – Recap…
• What have we learnt in this session?– Why are performance tests important?– What is benchmarking?– What is the difference between load and stress
tests?– How does usability help in improving the
quality of the product?– Why do we need to automate testing?
Smart Test Services Software Test Methodology - An Introduction
40
Software Testing – Recap…
– When will automation be more effective?– What are the various automation tools availing
in the market?– What are the different Documents in a Test
Project?– What does a Test Plan Contain?– What is a Test Report?– How to design a test case?– What are the category of Defects?
Smart Test Services Software Test Methodology - An Introduction
42
Thanks a lot for u’r Patience & All the Best.
Contact : [email protected]