You are on page 1of 36

Types of Software Testing

Presented by CTS
Types of Software Testing
In the testing phase software undergoes various types of testing before it is shipped to the customer
About 50 types of testing are available.
Automation Testing
Determines how well a product functions through a series of automated tasks, using a variety of tools to
simulate complex test data.
Acceptance Testing
Formal testing conducted to determine whether or not a system satisfies its acceptance criteria -
enables a customer to determine whether to accept the system or not.
Alpha Testing
Testing of a software product or system conducted at the developers site by the customer
Automated Testing
That part of software testing that is assisted with software tool(s) that does not require operator input,
analysis, or evaluation.
Beta Testing
Testing conducted at one or more customer sites by the end user of a delivered software product
system.
Black-Box Testing
Functional Testing based on the requirements with no knowledge of the internal program structure or
data. Also known as closed box testing.
Bottom-up Testing
An integration testing technique that tests the low level components first using test drivers for those
components that have not yet been developed to call the low level components for test.
Clear-Box Testing
Another term for White-Box Testing. Structural Testing is sometimes referred o as clear-box testing,
since white boxes are considered opaque and do not really permit visibility into the code. This is also
known as glass-box or open-box testing.
Compatibility Testing
Determines how well a product works in conjunction with a variety of other products, on certain
operating systems, across a broad range of hardware and component configurations and when exposed
to earlier versions of the product.
Database Testing
Most web sites of any complexity store and retrieve information from some type of database. Clients
often want us to test the connection between their web site and database in order to verify data and
display integrity.
Dynamic Testing
Verification or validation performed which executes the system code.
Error-based Testing
Testing where information about programming style, error-prone language constructs, and other
programming knowledge is applied to select test data capable of detecting defaults, either a specified
class of faults or all possible faults.
Exhaustive Testing
Executing the program with all possible combinations of values for program variables.
Failure-directed Testing
Testing based on the knowledge of the types of errors made in the past that are likely for the system
under test.
Fault based testing
Testing that employs a test data selection strategy designed to generate test data capable of
demonstrating the absence of a set of pre-specified faults, typically, frequent occurring faults.
Functionality Testing
Determines the extent to which a product meets expected functional requirements through validation
of product features. This process can be as simple as a smoke test to ensure primary functional
operation, or as detailed as checking a variety of scenarios and validating that all output meets specified
expectations.
Functional Localization Testing
Determines how well a product functions across a range of language, localized versions are checked to
determine whether particular language translations create failures specific to that language versions.
Heuristics Testing
Another term for fault-directed testing.
Hybrid Testing
A combination of top-down testing combined with bottom-up testing of prioritized or available
components.
Integration Testing
An orderly progression of testing in which the software components or hardware components, or both
are combined and tested until the entire system has been integrated.
Interoperability Testing
Determines, to a deeper extent than compatibility testing, how well a product works with a specific
cross section of external components such as hardware, device drivers, second-party software and even
specific operating systems and factory delivered computer systems.
Intrusive Testing
Testing that collects timing and processing information during program execution that may change the
behavior of the software from its behavior in a real environment.
Install Testing
Determines how well and how easily a product installs on a variety of platform configurations
Load Testing
Determines how well a product functions when it is in competition for system resources. The
competition most commonly comes from active processes, CPU utilization, I/O activity, network traffic
or memory allocation.
Manual Testing
That part of software testing that requires operator input, analysis, or evaluation.
Mutation Testing
A method to determine test set thoroughness by measuring the extent to which a test set can
discriminate the program from slight variants of the program.
Mundane Testing
A test that include many simple and repetitive steps, it can be called as Manual Testing
Operational Testing
Testing performed by the end user on software in its normal operating environment.
Path coverage Testing
Test method satisfying coverage criteria that each logical path through the program is tested. Paths
through the program often are grouped into finite set of classes; one path from each class is tested.
Performance Testing
Determines how quickly a product executes a variety of events. This type of testing sometimes includes
reports on response time to a users command, system throughput or latency. Although the word
performance has various meanings, e.g.: speed.
Qualification Testing
Formal Testing usually conducted by the developer for the customer, to demonstrate that the software
meets its specified requirements.
Random Testing
An essentially black-box testing approach in which a program is tested by randomly choosing a subset of
all possible input values. The distribution may be arbitrary or may attempt to accurately reflect the
distribution of inputs in the application environment.
Regression Testing
Selective re-testing to detect faults introduced during modification of a system or system component to
verify that modifications have not caused unintended adverse effects, or to verify that a modified
system or system component still meets its requirements.
Smoke Testing
It is performed only when the build is ready. Every file is compiled, linked, and combined into an
executable program every day, and the program is then put through a smoke test, a relatively simple
check to see whether the product smokes when it runs.
Statement Coverage Testing
Test method satisfying coverage criteria that requires each statement be executed at least once.
Static Testing
Verification performed without executing the systems code. Also called static analysis.
Stress Testing
Determines, to a deeper extent than load testing, how well a product functions when a load is placed on
the system resources that exceeds their capacity. Either stress testing can also determine the capacity
of a system by increasing the load placed on the resources until a failure or other unacceptable product
behavior occurs. Stress testing can also involve placing loads on the system for extended periods.
System Testing
The process of testing an integrated hardware and software system to verify that the system meets its
specified requirements.
System Integration Testing
Determine, through isolation, which component of a product is the roadblock in the development
process. This testing is beneficial to products that come together through a series of builds where each
step in the development process has the potential to introduce a problem. System integration testing is
also used in systems composed of hardware and software. In essence, system integration testing is
intended to exercise the whole system in real-world scenarios and, again through isolation, determine
which component is responsible for a certain defect.
Top-down Testing
An integration testing technique that test the high-level components first using stubs for lower-level
called components that have not yet been integrated and that stimulate the required actions of those
components.
Unit Testing
The testing done to show whether a unit (the smallest piece of software that can be independently
compiled or assembled, loaded, and tested) satisfies its functional specification or its implemented
structure matches the intended design structure.
White box Testing
Testing approaches that examine the program structure and derive test data from the program logic.
Web site -Compatibility Testing
Compatibility testing tests your web site across a wide variety browser/operating system combinations.
This testing typically exposes problems with plug-ins. ActiveX controls, Java applets, JavaScript, forms
and frames. Currently there are over 100 possible combinations of different windows operating systems
and various versions of NE and IE browsers. It is important to test across a large number of these to
ensure that users with diverse config dont experience problems when using the web site or application.
Web Site-Content Testing
Content Testing verifies a web sites content such as images, clip art and factual text.

Web site -Database Testing
Most web sites of any complexity store and retrieve information from some type of database. Clients
often want us to test the connection between their web site and database in order to verify data and
display integrity.
Web site -Functionality Testing
Functionality testing ensures that the web site performs as expected. The details of this testing will vary
depending on the nature of your web site. Typical examples of this type of testing include link checking,
form testing, transaction verification for e-commerce and databases, testing java applets, file upload
testing and SSL verification. For testing, which is repetitive in nature, an automated test tool such as
Rationales Visual Test can be used to decrease the overall duration of a test project.
Web site -Performance Testing
Performance Testing measures the web site performance during various conditions. When the
conditions include different numbers of concurrent users, we can run performance tests at the same
time as stress and load tests.
Eight Second Rule
Every page within a web site must load in eight seconds or less, even for users on slow modem
connections, or they risk losing their user to a competitor site that serves pages more quickly.
Web site-Server Side Testing
Server side testing tests the server side of the site, rather than the client side. Examples of server side
testing include testing the interaction between a web and an application server, checking database
integrity on the database server itself, verifying that ASP scripts are being executed correctly on the
server and determining how well a web site functions when run on different kinds of web servers.
Web site -Stress and Load Testing
Load Testing, a subset of stress testing, verifies that a web site can handle a particular number of
concurrent users while maintaining acceptable response times. To perform this type of testing use
sophisticated automated testing tools, such as Segues Silk Performer, to generate accurate metrics
based on overall system load and server configuration.
Thank You




o Software Testing
o Introduction to Testing
o Any activity aimed at evaluating an attribute or capability of a program or system to
determine that it meets its required results. The process of exercising of evaluating a
system or system component by manual or automated means to verify that it satisfies
specified requirements or to identify differences between expected and actual results.
Software Testing
Testing is an activity with any process that produces a product. It is used to determine the
status of the product during and after the build or do component of the process. The role of
testing changes as the type of process used to build the product changes.
IEEE-Definition of Testing
Software Testing - G. Myers.
Testing is the process of executing a program with an intent to test error.
Steps in Testing
Select what is to be measured in the test. Ie., what is the goal of testing ?
o Satisfy the Requirements
o Reliability
Decide how to test
o Inspections
o walkthrough
o manual
o automation
Software Testing
Develop test plans and test cases
o test plan
o test cases
Determine what the expected result
Execute the test cases
Compare the results
Levels Software Testing
Unit Testing
o Individual units are tested
Goals
o confirms the module is coded correctly
Types
o Black box
o White Box
Levels of Software Testing
Integration Testing
o Test sub systems and modules.
Goals
o Does the sub system meets the system requirements.
o Does it functions properly
o Test the interface to the sub system
Levels of SoftwareTesting
System Testing
o Black box Testing.
o Described in detail in the types of testing.
Levels of Software Testing
User Acceptance Testing
o Testing the finished product with respect to the user perception.
Principles of Testing
Testing is the process of executing a program to find a error.
Impossible to test completely any module or system
There are practical and theoretical limitations.
Correcting an error can introduce another error.
Principles of Testing
Testing is a creative process and involves great deal of hard work.
Testing can prevent errors.
o Find them early
Testing is best done by independent testers.
Testing in small
Generally the person who codes the module carries out the unit test
Incremental coding is particularly applicable to interactive systems
Static Analysis
o Desk Checking - reading the code
o Hand execution
Testing in small
Dynamic Analysis
o Black -box testing
o White-box testing
o Data structure based - focus on the nature and dimensions of data structure.
White box testing in small
Based on the idea of coverage
o coverage: a measure of how much a module or system is exercised (executed) by a test
or a series of tests)
Think of source code as consisting of
o segments, decisions and loops.
Segments
A group of one or more actions that are always executed together, without any nested decisions
or nested loops.
o Segments should be executed at least once.
Decision Coverage
Each possible outcome of a decision should be tested at least once.
Count a null segment as a segment if and if-then evaluates to false.
o If /then must be tested twice.
o If/then/else must be tested twice.
o Case must be tested multiple number of times.
o Loop Coverage
Covered by segment and decision coverage since a loop contains a decision
Requires each loop is to be tested once for each of the following
o data that causes loop to be skipped
o data that causes loop to be executed only once.
o Data that causes the body of the loop to be executed multiple times
Coverage
Achieved by testing the module with sets of data that force flow of control to travel at least
once along every path.
Performing white-box testing
What is to be measured ?
o The integrity of the data flow.
How ?
o Obtain coverage.
Develop test cases
Execute test cases
o Say we not you.
o Talk in terms of your audiences interest.
o Involve your audience.
Structural vs. Functional Testing
Structural analysis based testing tend to uncover the errors that occur during coding of the
program
Functional analysis based tests tend to uncover error that occur in implementing requirements
or design specifications.
Software Testing
80% of defects occur in 20% of work
Testing is a threat
o viewed as negatively
o against delivery commitments
o self Image
Why Testing ?
Determine whether the system meets requirements
Determine whether the system meets specifications
Find the bugs and limitations
Continuously improve testing process
Why Testing ?
Developers not infallable
Requirement implications are not seen
Behavior of system not predictable from components.
Why Testing ? - Business
Post release debugging is too expensive
Reputation,sales,operations all affected
Hazardous bugs(life/property)
Why Testing ? Professional
Test case design challenging, rewarding
Good testing gives confidence in work
Systematic test is effective
Credibility,pride in effort
Pesticide Paradox
Every method you use to prevent or find bugs leaves a residue of subtle bugs against which
those methods are ineffectual
(The complexity barrier) s/w complexity (and therefore that of the bugs) grows to the limits of
our ability to manage that complexity.
Defnitions
Bug/Defect
o Deviation from specification or standard
o Anything that causes customer dissatisfaction
Validation
o test phase of life cycle
Verification
o Quality control activity
Drivers/Stubs
o calling component and component





Course Objective & Outline
Course Objective:
After completing this course, you will be able to know about software testing, its evolution, lifecycle,
types and levels of testing, testing techniques,test plan, test strategy, test cases, functional and
performance testing, defect management , about test automation, a sample test automation tool and
about Test Case Point analysis.
Course Outline:
1. Introduction to software testing
1. What is software testing?
2. Testing lifecycle
3. Testing techniques
4. Types of testing

2. Black box Vs White box testing
1. Black box testing
2. White box testing
3. Black box Vs White box
Course Objective & Outline
Course Outline contd.
3. Other testing types
1.GUI testing
2.Regression testing
3.Acceptance testing
4.Configuration testing and Installation testing
5.Alpha testing and Beta testing
4. Levels of testing
1.Unit testing
2. Integration testing
3. System testing
Course Objective & Outline
Course Outline contd.
5. Testing artifacts
1.Test strategy and test plan
2.Test case
6. Defect management
1.What is a defect?
2.Defect classification
3.Defect lifecycle
4.Defect reporting and tracking
Course Objective & Outline
Course Outline contd.
7. Automation
1.What is automation?
2.Automation benefits
3.Automation lifecycle
4.Test environment setup
5.Other phases in automation
6.Automation methods
7.Automation tool comparison
8.Sample test automation tool
1.Rational Suite of tools
2.Rational Administrator
3.Rational Robot
4.Rational test manager
5.Supported environments
Course Objective & Outline
Course Outline contd.
9. Performance testing
1.What is performance testing?
2.Performance testing requirements
3.Performance testing process
4.Performance testing tools
5.Volume and Stress testing
10. Test case point
1.What is TCP?
2.TCP analysis
1.0 Introduction to Software Testing : Overview
Introduction:
In this module lets see what is software testing ,its process and lifecycle, types of testing and
techniques of testing.
Objective:
After completing this module, you will be able to know what is software testing, its evolution, lifecycle
and testing techniques.
1.1What is Software testing?: Overview
Testing What Is it ???
A process of demonstrating that errors are not present ?
OR
A way of establishing confidence that a program does what it is supposed to do ?
OR
A means of achieving an error-free program by finding all errors ?
1.1What is Software testing? Contd..

1.1What is Software testing ?contd..
Why Testing?
Verifies that all requirements are implemented correctly (both for positive and negative
conditions)
Identifies defects before software deployment
Helps improve quality and reliability.
Makes software predictable in behavior.
Reduces incompatibility and interoperability issues.
Helps marketability and retention of customers.
1.2 Testing lifecycle
1.2 Testing lifecycle contd
1.3 : Testing techniques
static: dont execute the program
code inspection or walk through
symbolic execution
symbolic verification
dynamic: generate test data and execute the program
White-box/Glass-box Testing
Unit Testing
Integration/Interface Testing
Black-box Testing
System Testing
Acceptance testing
1.3 : Testing techniques contd..
Static Testing
Advantages
Capture defects early, so saves rework cost
Checklist-based approach
Focuses on coverage
Group perspective
Highest probability of finding defects
Disadvantages
Time-consuming
Cannot test data dependencies
High skill levels required
1.4 Types of testing: Overview
Types of Testing
Black Box Testing
White Box Testing
Grey Box Testing
Levels of Testing
Unit Testing
Integration Testing
System Testing
Acceptance Testing
Regression Testing
2.0 Black box Vs White box testing : Overview
Introduction:
This module discusses about the black box and white box testing and their testing techniques.
Objective:
After completing this module, you will be able to know what is white box and black box testing and the
difference between them.
2.1 Black box testing: Overview
a.k.a Functionality Testing or Data-driven Testing
A system or component whose inputs, outputs and general functions are known, but whose
contents or implementation are unknown or irrelevant
Black box testing techniques
Equivalence partitioning
Boundary value analysis
2.2 White box testing: Overview
a.k.a Structural Testing or Logic-driven Testing or Glass Box Testing
Source Code is available for Testing
Structural Testing process
Program Logic-driven Testing
Design-based Testing
Examines the internal structure of program
White box testing techniques
Basis path testing
Flow graph notation
Cyclomatic complexity
2.2 White box testing contd.
White box testing is to
Derive test cases:
based on the program structure.
to guarantee that all the independent paths within a program module have been
tested.
Minimum Criteria for White Box Testing
Code
High level Design Document
Low level Design Document
Software Requirement Specification
2.3 White box Vs Black box: Overview
3.0 Other testing types: Overview
Introduction:
This module discusses about the other testing types like GUI testing, regression testing, configuration
testing,alpha and beta testing.
Objective:
After completing this module, you will be able to what is GUI testing, regression testing, configuration
testing,alpha and beta testing.
3.1 GUI testing: Overview
GUI testing
GUI is the abbreviation for Graphic User Interface. It is absolutely essential that any application has
to be user-friendly. The end user should be comfortable while using all the components on screen and
the components should also perform their functionality with utmost clarity. Hence it becomes very
essential to test the GUI components of any application. GUI Testing can refer to just ensuring that the
look-and-feel of the application is acceptable to the user, or it can refer to testing the functionality of
each and every component involved.
3.2 Regression testing: Overview
Regression testing
Re-execution of one or more tests in subsequent build of the application/product to ensure
Revisiting and testing all prior bug-fixes in response to a new fix/enhancement
Re-testing all programs that might be affected by the fix/enhancement
Hidden Bugs are uncovered
The baseline for Regression Testing grows with every build
3.3 Acceptance testing
Acceptance testing
Demonstrates that the system meets mutually agreed Acceptance criteria
Critical Requirements
Minimum Performance level
Maximum Defect Detection Rate
Typically, a sub-set of System testing
3.4 Configuration and Installation testing
Configuration testing
Hardware Compatibility
Platform (OS) compatibility
Inter-product (software) compatibility
Network configuration
Database compatibility
Installation testing
Basic installation
Installation of various configurations
Installation on various platforms
Regression testing of basic functionality
3.5 Alpha and Beta testing: Overview
Alpha Testing:
Testing of a software product or system conducted at the developers site by the customer
Beta Testing:
Testing conducted at one or more customer sites by the end user of a delivered software
product system.
4.0 Levels of testing : Overview
Introduction:
This module is about unit ,integration and system testing.
Objective:
After completing this module, you will be able to know what is unit,integration and system testing?
4.1 Unit testing: Overview
Unit Testing
Lowest Level of Testing
Individual unit of the software are tested in isolation from other parts of a program
What can be a UNIT?
Screen / Program
Back-end related to a Screen
Screen + back end
4.1 Unit testing contd
Unit testing activities
1.Field Level Checks
Null / Not Null Checks
Uniqueness Checks
Length Checks
Date field Checks
Numeric Checks
Negative Checks
Default Display
2.Field Level Validation
To Test all Validations for an input field
Date Range Checks
Date Check validation with the system date
4.1 Unit testing contd
User Interface Checks
Readability of the controls
Tool Tips Validations
Ease of usage of interface across
Consistency with the user interface across the product
User Interface dialogs
Tab related checks for screen controls
Functionality Checks
Screen Functionality
Referential Integrity Checks
Field Dependencies
4.2 Integration testing: Overview
Integration Testing
Intermediate level of testing
Progressively unit tested software components are integrated and tested until the software
works as a whole
Test that evaluate the interaction and consistency of interacting components.
4.2 Integration testing contd..
Integration testing techniques
Top-Down Integration
Bottom-up Integration
Big-bang Integration
4.2 Integration testing contd..
Integration testing techniques
1. Top Down Integration Testing
Program merged and tested from the top to the bottom
Modules are integrated by moving downward through the control hierarchy, beginning
with the main control module Ref fig 1
Modules subordinate to the main control module are incorporated into the structure
in either a depth-first or breadth-first manner.
Advantages
Integrated Testing is done in an environment that closely resembles that of the reality,
so the tested product is more reliable
Stubs are functionally simpler than drivers, and therefore they can be written with less
time and labor
Disadvantages
Core functionality tested late in the cycle
4.2 Integration testing contd..
4.2 Integration testing contd..
2.Bottom Up Integration
Begins construction and testing with atomic modules (i.e., modules at the lowest levels
in the program structure.
Program is merged and tested from the bottom to top.
The terminal module is tested in isolation first, then the next set of higher level
modules are tested with the previously tested lower modules. Ref Fig 2.
Advantages
Many Programming and testing operations can be carried out simultaneously, yielding
apparent improvement in Software Development effectiveness
Unit Testing of each module can be done very thoroughly
Disadvantages
Key Interface defects trapped late in the cycle
Test drivers have to be generated for modules at all levels except the top
controlling one
We cannot test the program in the actual environment in which it will be run.
4.2 Integration testing contd..
4.2 Integration testing contd..
3.Big Bang Testing
A type of integration testing in which software components of an application are combined all
at once into a overall system.
According to this approach, every module is first unit tested in isolation from every module.
After each module is tested, all of the module are integrated together at once. Ref Fig 3
4.2 Integration testing contd..
4.3 System testing: Overview
A Black-box Testing technique
Specifications-based Testing
Typically independent team testing
Simulated environment testing
Live/Simulated user data
Tests the whole system
Functional and non-functional requirements tested
Business transaction-driven testing
Compatibility errors uncovered
Performance limitations uncovered
4.3 System testing contd
Covers testing of the integrated system for
Business functionality
Performance and Scalability
Usability
Reliability
Portability
Installation
Disaster Recovery
5.0 Test artifacts : Overview
Introduction:
This module discusses about the test strategy,test plan and test cases.
Objective:
After completing this module, you will be able to know what is a test plan,test strategy and test case.
5.1 Test strategy/planning: Overview
Includes
Testing Objectives and Goals
Test Strategy/Approach based on customer priorities
Test Environment (Hardware, Software, Network, Communication etc.)
Features to test with priority/criticality
Test Deliverables
Test Procedure Activities and tools
Test Entry and Exit criteria
Test Organization and Scheduling
Testing Resources and Infrastructure
Test Measurements/Metrics
5.1 Test strategy/planning contd..
Benefits
Sets clear and common objectives
Helps prioritize tests
Facilitates Technical tasks
Helps improve coverage
Provides structure to activities
Improves communication
Streamlines tasks, roles and responsibilities
Improves test efficiency
Improves test measurability
5.2 Test case: Overview
What is a test case?
A set of test inputs, execution conditions and expected results
Reflects what tests need to be performed
Identifies the data needed for testing
Specifies pre-conditions, post conditions and acceptance/pass criteria
Provides a means to verify system use cases and other requirements
Helps determine test coverage
What is a good test case?
Has a reasonable probability of catching an as-yet undiscovered error
Is sequential with the program/business flow
Is not redundant
Is neither too simple nor too complex
Also tests the invalid and unexpected.
Systematically uncovers different classes of errors with minimum (optimum) effort and
time
6.0 Defect management : Overview
Introduction:
This module is about what is a defect,its classification lifecycle ,tracking and reporting.
Objective:
After completing this module, you will be able to know about defects,its classification,lifecycle and
tracking.
6.1 What is a defect?: Overview
Defect is a variance from the desired product attribute.
Two kinds of Defects:
(a) Defect from specifications
(b) Defect in capturing user requirements
Failure is a defect that causes an error in the operation of program or that adversely affects the
end-user / customer.
A mismatch in the application and its specification is a defect. A software error is present when
the program does not do what its end user expects it to do.
6.2 Defect classification: Overview
Defect classification:
Based on category:
Wrong - Incorrect Implementation
Missing - User requirements is not built into the product
Extra - Unwanted requirement built into the product
Based on severity:
Very high or critical
High
Medium
Low
6.3 Defect lifecycle : Overview
6.4 Defect reporting and tracking : Overview
Defect Id, Test Case Reference, Defect Description,
Steps to simulate Defect, expected and actual result
Tester Name, Test Date/Time
Response from Development, Allocation of fix
Defect fixer name, Date/Time
Defect Fix Verification
Additional Test Case Reference
Regression test details
Defect Closure
7.0 Automation : Overview
Introduction:
This module is about the test automation,benefits of automation,lifecycle,phases methods and general
tool comparison.
Objective:
After completing this module, you will be able to know what is test automation,its
methods,lifecycle,benefits,phases and tools used for automation .
7.1 What is Automation?: Overview
What is Automation?
Automated testing is automating the manual testing process currently in use
7.2 Automation benefits: Overview
Using Testing Effectively
Reducing Testing Costs
Replicating Testing Across Different Platforms
Repeatability and Control
Greater Application Coverage
7.3 Automation Lifecycle: Overview
7.4 Test environment setup: Overview
Once the test cases have been created, the test environment can be prepared. The test environment
is defined as the complete set of steps necessary to execute the test as described in the test plan. The
test environment includes initial set up and description of the environment, and the procedures needed
for installation and restoration of the environment.
Inputs to the Test Environment Preparation Process
1.Technical Environment Descriptions
2.Approved Test Plan
3.Test Execution Schedules
4.Resource Allocation Schedule
5.Application Software to be installed
7.5 Other phases in automation: Overview
Other phases in automation:
Test planning
Test design and development
Test execution
Measuring the results
7.6 Automation methods: Overview
Automation methods:
Capture playback
Data driven approach
7.7Automation tool comparison: Overview
What will follow after the matrix is a tool-by-tool comparison under the appropriate heading (as
listed above) so that the user can get a feel for the tools functionality side by side.
Each category in the matrix is given a rating of 1 5. 1 = Excellent support for this functionality,
2 = Good support but lacking or another tool provides more effective support, 3 = Basic/ support
only. 4 = This is only supported by use of an API call or third party add-in but not included in the
general test tool/below average, 5 = No support.
7.7Automation tool comparison contd
8.0 Sample test automation tool: Overview
Introduction:
Rational offers the most complete lifecycle toolset (including testing) of these vendors for the
windows platform. When it comes to Object Oriented development they are the acknowledged leaders
with most of the leading OO experts working for them. Some of their products are worldwide leaders
e.g. Rational Robot, Rational Rose, Clear case, Requiste Pro, etc.Their Unified Process is a very good
development model that I have been involved with which allows mapping of requirements to use cases,
test cases and a whole set of tools to support the process
Objective:
After completing this module, you will be able to <Enter Module Objective>
8.1 Rational Suite: Overview
Rational Suite of tools:
Rational Requisite Pro
Rational Clear Quest
Rational Purify
Rational Quantify
Rational Pure Coverage
Rational Suite Performance Studio
Rational Robot
Rational Test Factory
Rational site check
Rational Load Test
Rational Test Manager etc..
8.2 Rational Administrator: Overview
What is a Rational Project?
A Rational project is a logical collection of databases and data stores that associates the data
you use when working with Rational Suite. A Rational project is associated with one Rational
Test data store, one RequisitePro database, one Clear Quest databases, and multiple Rose
models and RequisitePro projects, and optionally places them under configuration
management.
Rational administrator is used to create and manage rational repositories, users and groups and
manage security privileges.
8.3 Rational Robot: Overview
Rational Robot is used to develop three kinds of scripts: GUI scripts for functional testing and VU
and VB scripts for performance testing.
Robot can be used to:
Perform full functional testing. Record and play back scripts that navigate through your
application and test the state of objects through verification points.
Perform full performance testing. Use Robot and Test Manager together to record and play back
scripts that help you determine whether a multi-client system is performing within user-defined
standards under varying loads.
Create and edit scripts using the SQABasic, VB, and VU scripting environments. The Robot editor
provides color-coded commands with keyword Help for powerful integrated programming
during script development.
Test applications developed with IDEs such as Visual Basic, Oracle Forms, PowerBuilder, HTML,
and Java. Test objects even if they are not visible in the application's interface.
Collect diagnostic information about an application during script playback. Robot is integrated
with Rational Purify, Quantify, and PureCoverage. You can play back scripts under a diagnostic
tool and see the results in the log.
8.4 Rational Test Manager: Overview
Test Manager is the open and extensible framework that unites all of the tools, assets, and data both
related to and produced by the testing effort. Under this single framework, all participants in the testing
effort can define and refine the quality goals they are working toward. It is where the team defines the
plan it will implement to meet those goals. And, most importantly, it provides the entire team with one
place to go to determine the state of the system at any time.
In Test Manager you can plan, design, implement, execute tests and evaluate results.
With Test manager we can create, manage, and run reports. The reporting tools help you track
assets such as scripts, builds, and test documents, and track test coverage and progress.
Create and manage builds, log folders, and logs.
Create and manage data pools and data types
8.5 Rational supported environments: Overview
Operating system
WinNT4.0 with service pack 5
Win2000
WinXP(Rational 2002)
Win98
Win95 with service pack1
Protocols
Oracle
SQL server
HTTP
Sybase
Tuxedo
SAP
People soft
8.5 Rational supported environments contd..
Web browsers
IE4.0 or later
Netscape navigator (limited support)
Markup languages
HTML and DHTML pages on IE4.0 or later.
Development environments
Visual basic 4.0 or above
Visual C++
Java
Oracle forms 4.5
Delphi
Power builder 5.0 and above
For more details visit www.rational.com
9.0 Performance testing : Overview
Introduction:
This module is about performance testing,its requirements,process,tools and about load,volume and
stress testing.
Objective:
After completing this module, you will be able to know what is performance testing,its process,tools
used,and about load,volume and stress testing.
9.1 Performance testing: Overview
Performance testing of an application is basically the process of understanding how the web
application and its operating environment respond at various user load levels. In general, we want to
measure the latency, throughput, and utilization of the web site while simulating attempts by virtual
users to simultaneously access the site. One of the main objectives of performance testing is to maintain
a web site with low latency, high throughput, and low utilization.
9.2 Performance testing requirements: Overview
Performance requirements normally comprise three components:
Response time requirements
Transaction volumes detailed in Load Profiles
Database volumes
9.3 Performance testing process: Overview
Performance testing process:
Requirements collection
Test plan
Test design
Test scripts
Test bed preparation
Test execution
Test result analysis
Test report generation
9.4 Performance testing tools: Overview
Load Runner 6.5
Load Runner is Mercury Interactives tool for testing the performance of client/server systems.
Load Runner enables you to test your system under controlled and peak load conditions. To generate
load, Load Runner runs thousands of Virtual Users that are distributed over a network. Using a minimum
of hardware resources, these Virtual users provide consistent. Repeatable and measurable load to
execute your client/server system just as real users would. Load Runners in depth reports and graphs
provide the information that you need to evaluate the performance of your client/server system.
Web Load 4.5
Web load is a testing tool for testing the scalability, functionality and performance of Web-
based applications both Internet and Intranet. It can measure the performance of your application
under any load conditions. Use Web Load to test how well your web site will perform under real-world
conditions by combining performance, load and functional tests or by running them individually.
9.4 Performance testing tools contd..
Performance testing tools..
Web Performance Trainer
Astra Load Test
Benchmark
factory
Radview's
web Load
MS Web
Application
Stress Test
Rational Suite Performance
Studio, Rational Site Load
Silk Performer etc
9.5 Volume and Stress testing: Overview
Volume Testing
The purpose is to find weakness in the system with respect to its handling of large amounts of data
during short time periods.
Stress Testing
The purpose is to that the system has the capacity to handle large numbers of processing transactions
during peak periods.
9.5 Volume and Stress testing contd..
Performance Testing
Can be accomplished in parallel with Volume and Stress testing because you want to
assess performance under all conditions.
System performance is generally assessed in terms of response times and throughput
rates under differing processing and configuration conditions.
10.0 TCP : Overview
Introduction:
This module is about TCP.
Objective:
After completing this module, you will be able to what is TCP and its usage.
10.1 What is TCP?: Overview
What is a Test Case Point (TCP?
TCP is a measure of estimating the complexity of an application. This is also used
as an estimation technique to calculate the size and effort of a testing project.
The TCP counts are nothing but ranking the requirements and the test cases
that are to be written for those requirements into simple, average and complex
and quantifying the same into a measure of complexity.
Course Name - Summary
This course is designed to know about
Software testing
Levels and types of testing
Test artifacts
Defect management
Automation
Sample automation tool
Performance testing
TCP
Congratulations!
You have successfully completed
Software Testing Course

You might also like