Curs 10
Automated Testing
Andrei Ropota
2 / Ropota Andrei / Automated Testing /
Content
What is Automated Testing?
Automated Testing Advantages
Limitation of Automated Testing
Automated testing vs. manual testing
Automated Test Life-Cycle Methodology (ATLM)
Automated Testing in CAR Multimedia IAS
3 / Ropota Andrei / Automated Testing /
What is Automated testing?
Automated testing: The management and performance of test activities, to include the development and execution
of test scripts having as objective the verification of test requirements, using an automated test tool.
The automation of test activities reveals its greatest values in instances where test scripts are repeated or where test
scripts subroutines are created and then invoked repeatedly by a number of test scripts.
Given the continual changes and additions to requirements and software, automated tests serves as an important
control mechanism to ensure accuracy and stability of the software through each build.
4 / Ropota Andrei / Automated Testing /
Automated testing advantages
Costs and efficiency
Detection of the errors that reached production phase (with regression tests)
Multiple users simulation
Reusable of the old scripts -> creation of the new scripts is reduce
automatic execution of performance tests in the beginning of the production ->less costs for improving the
performance
Time economy
quick analysis in case of changing of environment parameters
short duration of the testing cycles
better estimation for test planning
a large number of tests can be executed over night
quick generation of testing preconditions
Quality increase
automatic compare of results
more consistent results due to repeating tests
5 / Ropota Andrei / Automated Testing /
Limitation of Automated Testing
Most of the times an Automated Testing system can't tell if something "looks good" on the screen or when a
pictogram or a window is not displayed well
There are a bunch of problems that can appear when trying to automate the testing process:
Unrealistic expectations (e.g. expectation that automated tests will find a lot of errors)
Poor testing experience
Maintenance of automated tests
Automated testing will never replace definitely the manual testing
Tests that should not be automated are:
tests that are executed very rare
where the system is very unstable
tests that can be verified easily manually but hardly automated
tests that need physical interaction
6 / Ropota Andrei / Automated Testing /
Automated testing vs. Manual testing
Pros of Automated testing
If a set of tests must be ran repeatedly, automation is a
huge win
It offers the possibility to run automation against code that
frequently change to catch regressions
Offers the possibility to add a large test matrix (e.g.
different languages on different OS platforms)
Automated tests can be run the same time on different
machines, whereas manual tests must be run sequentially
It offers more time for the test engineer to invoke greater
depth and breadth of testing, focus on problem analysis,
and verify proper performance of software following
modifications and fixes
Combined with the opportunity to perform programming
tasks, this flexibility promotes test engineer retention and
improves his morale
Cons of Automated testing
Costs - Writing the test cases and writing or configuring the
automate framework that is used costs more initially than
running the test manually.
Some tests can't be automated – manual tests are needed
7 / Ropota Andrei / Automated Testing /
Automated testing vs. Manual testing (2)
Pros of Manual testing
If the test case runs once or twice most likely is a manual
test. Less cost than automating it.
It allows the tester to perform more ad-hoc (random tests).
Experience has proven that more bugs are found via ad-hoc
(Experience Based Testing) than via automation testing. And
more time the testers spends playing with the feature, the
greater are the chances of finding real user problems.
Cons of Manual testing
Running tests manually can be very time consuming
The manual tests are requiring more people and hardware
Each time there is a new build, the tester must rerun all
required tests - which after a while would become very
boring and tiresome.
8 / Ropota Andrei / Automated Testing /
Automated Test Life-Cycle Methodology (ATLM)
1. Decision to Automate Test
2. Test Tool Acquisition
3. Automated Testing Introduction Process
4. Test Planning, Design and Development
5. Execution and Management of Tests
6. Test Program Review and Assessment
9 / Ropota Andrei / Automated Testing /
Decision to Automate Test: Overcoming False Expectations
EXPECTATION
Automatic test plan generation
Test tool fits all
Imminent test effort reduction
Tool ease of use
Universal application of test
automation
100% test coverage
REALITY
No tool can create automatically a comprehensive test plan
No single tool can support all operating systems environments and programming languages
Initial use of an automated test tool can actually increase the test effort
Using an automated tool requires new skills, additional training is required
Not all the tests required for a project can be automated (e.g. some test are physically
impossible; time or cost limitation)
It is impossible to perform an exhaustive testing of all the possible inputs (simple or combination)
to a system
10 / Ropota Andrei / Automated Testing /
Decision to Automate Test: Benefits of Automated Testing
Production of a reliable system Improved requirements definition
Improved performance/load/stress testing
Improved partnership with development team
Improved system development life cycle
Improvement of the quality of the test effort Improved build verification testing (smoke testing)
Improved regression testing
Improved multiplatform/software compatibility testing
Improved execution of the repetitive tests
Improved focus on advanced test issues
Execution of tests that manual testing can't accomplish
Ability to reproduce software defects
After-hours testing
Reduction of test effort and minimization of schedule
11 / Ropota Andrei / Automated Testing /
Test Tool Acquisition
Identify which of the various tool types suit the organization
system environment, considering:
- the group/department that will use the tool;
- the budget allocated for the tool acquisition;
- the most/least important functions of the tool etc.
Choose the tool type according to the stage of the software
testing life cycle
Evaluate different tools from the selected tool category
Hands-on tool estimation – request product demonstration
(evaluation copy)
Following the conclusion of the evaluation process, an
evaluation report should be prepared
Business analysis
phase
business modeling tools
configuration management tools
defect tracking tools
Requirements
definition phase
requirements management tools
requirements verifiers tools
Analysis and
design phase
database design tools
application design tools
Programming
phase
syntax checkers/debuggers
memory leak and run-time error detection
tools
source code or unit testing tools
static and dynamic analyzers
Testing phase test management tools
network testing tools
GUI testing tools (capture/playback)
non-GUI test drivers
load/performance testing tools
environment testing tools
12 / Ropota Andrei / Automated Testing /
Automated Testing Introduction Process – Test Process Analysis
Process review Test process characteristics (goals, strategies, methodologies) have been defined and they are compatible with
automated testing
Schedule and budget allows process implementation
The test team is involved from the beginning of SDLC
Test goals Increase the probability that application under test will behave correctly under all circumstances
Increase the probability that application meets all the defined requirements
Execute a complete test of the application within a short time frame
Test objectives Ensure that the system complies with defined client and server response times
Ensure that the most critical end-user paths through the system perform correctly
Incorporate the use of automated test tools whenever feasible
Perform test activities that support both defect prevention and defect detection
Incorporate the use of automated test design and development standards to create reusable and maintanable
scripts
Test strategies Defect prevention (early test involvement, use of process standards, inspection and walkthroughs)
Defect detection (use of automated test tools, unit/integration/system/acceptance test phase)
13 / Ropota Andrei / Automated Testing /
Test Planning
The test planning element of the ATLM incorporates the review of
all activities required in the test program
It ensures that testing processes, methodologies, techniques,
people, tools, schedule and equipment are organized and
applied in an efficient way
Key elements: planning associated with project milestone events,
test program activities and test program-related documentation.
The following must be accomplished:
- the technical approach for these elements is developed;
- personnel are assigned
- performance timelines are specified in the test program
schedule.
Test planning is not a single event, but rather a process. It is the
document that guides test execution through to a conclusion, and
it needs to be updated frequently to reflect any changes.
14 / Ropota Andrei / Automated Testing /
Test Design
Test program model definition – identifies the test techniques that
apply to the test program
Test architecture definition – involves the selection of a test
architecture model and population of model attributes
Test procedure definition – groups logically the test procedures
Automated/manual test mapping (decision what to automate)
Black-Box Test Techniques Automated Test Tools
Random Testing GUI Test Tools
Regression Testing GUI/Server Test Tools
Stress/Performance Testing Load Test Tools
Security Testing Security Test Tools
Data Integrity Testing Data Analysis Tools
Configuration Testing Multiplatform Test Tools
Functional Testing Load/GUI/Server Test Tools
User Acceptance Testing GUI Test Tools
Usability Testing Usability Measurement Tools
Alpha/Beta Testing Load/GUI/Server Test Tools
Boundary Value Analysis Develop program code to
perform tests
Backup and Recoverability
Testing
Load/GUI/Server Test Tools
15 / Ropota Andrei / Automated Testing /
Test Development
Development Guideline
Topics
Description
Design-to-Development
Transition
Specify how design and setup activities will be translated
into test development action
Reusable Test
Procedures
Test procedures need to be reusable for highest test
program return on investment
Data Avoid hard-coding data values into scripts
Capture/Playback Outlines on how to apply the use of capture/playback
recording
Maintainable Test
Procedures
A test procedure whose defects are easy to remove and can
easily be adapted to meet new requirements
Test Script
Documentation
Test script documentation is important for test procedure
maintainability
Naming Standards Defines the standard naming convention for test procedures
Modularity Guidelines for creating modular test scripts
Global Files Globally declared functions are available to any procedure
Constants Use of constants in order to support maintainable procedure
16 / Ropota Andrei / Automated Testing /
Test Execution
17 / Ropota Andrei / Automated Testing /
Automated testing in CAR IMM Iasi
Requirements management : DOORS
Test management tool: SiTemppo
Automated test tools: TUX, TTCN-3, Silk Test
18 / Ropota Andrei / Automated Testing /
TTCN-3
TTCN-3 is the Testing and Test Control Notation version 3
Internationally standardized testing language for formally defining test scenarios – design purely for testing
developed from 1999 – 2002 at the European Telecommunications Standards Institute (ETSI)
A programming language that has been used
for more than 20 years in standardization as
well as industry
Area of Testing
- Conformance and Functionality Testing
- Pre-integration Testing
- Integration and Interoperability Testing
- Regression Testing
- Load/Stress Testing
19 / Ropota Andrei / Automated Testing /
Advantages of using TTCN-3
Systematic product testing
Large percentage of testing coverage
Parallel testing and develop processes
Automated testing so it can be run without user intervention
Complex and multiple scenarios implementation
Clear and exact bug reports
Easy management of errors and bug fixing
Reusable tests and consistent version validation
Automated regression tests on all levels
Control and exact status of product quality in all development stages
20 / Ropota Andrei / Automated Testing /
Black-box testing with TTCN-3
TTCN-3 Test Case
Port.send(Stimulus) Port.receive(Response)
System Under Test
Port
• Assignment of a
Test Verdict
TTCN-3 is applicable for all kinds of black-box testing for reactive and distributed systems.
21 / Ropota Andrei / Automated Testing /
Tux
The Tux test harness (Tux) is a 32-bit client/server test harness that executes test modules
stored in dynamic-link library (.dll) files. Tux groups tests, maintains statistics, and provides a user
interface (UI). With Tux, you can write clean, short, and platform-independent test cases without the
overhead required to write a complete application. Tux was developed for real time tests, driver tests
and is suitable for performance tests.
Most simple set-up for executing Tux tests on a target device:
Tux.exe Kato.dll target device
+
Test .dll
Properties of Test .dll:
Test .dll contains test cases, test strategy, test sequence, in other words:
test implementation and test intelligence
Source code is written in C / C++
Must export certain mandatory functions for Tux.exe
Tux.exe - Test harness
Kato.dll - Logging engine
22 / Ropota Andrei / Automated Testing /
Other Automated Test Tools
Mercury Interactive -
www.mercuryinteractive.com
Application performance
management
Topaz – solution for performance management from the end-user
perspective: real time alerts receiver, user problems correlation with
system data, service levels management
Test management
Functional testing
Load testing
TestDirector – global solution for test process management,
containing four modules: Requirements, Test Plan, Test Lab, Defects
Manager
Astra FastTrack – defect management tool for Web applications
Astra QuickTest – tool that allows both the beginner and experienced
testers to test the dynamic Web applications
WinRunner – functional testing solution for GUI applications
QuickTest professional - tool for automation process of functional and
regression testing of the dynamic Web applications
XRunner – automation functional testing of the X-Window applications
LoadRunner – load and performance testing management
Astra LoadTest – quick solution for performance and scalability testing
of the Web applications
LoadRunner TestCenter – complete solution that allows multiple and
concurent testing management, from different locations. All the
resources are centralized and accesible from a single control center
23 / Ropota Andrei / Automated Testing /
Other Automated Test Tools (2)
Segue - www.segue.com Application performance
management
SilkVision – solution for application behavior monitoring
SilkTest – tool for application scalability and stress testing
SilkPerformer – simulates the application performance and stress
testing
SilkPlan – process manaagement package
Rational –
www.rational.com
Application performance
management
Test management
Rational Suite TestStudio
Rational Test RealTime
Rational TestManager
Compuware
Corporation
www.compuware.com
Application performance
management
Abend-AID
File-AID
PointForward
QACenter
XPEDITER
Production Readiness
Quality Assurance
Development and
Integration
Abend-AID
NuMega
QA Center
File-AID
Uniface
Vantage
24 / Ropota Andrei / Automated Testing /
References
1. Herbert M. Isenberg - The practical organization of automated software testing (http://www.automatedtesting.
com/PATfinal.htm)
2. Brett Pettichord - Success with test automation (http://www.io.com/~wazmo/succpap.htm)
3. Elisabeth Hendrickson - Test automation advice (http://www.qualitytree.com/autotest/autotest.htm)
4. Elfriede Dustin, Jeff Rashka - Automated Software Testing (Addison Wesley Longman Inc., ISBN: 0201432870 )
5. *** - Mercury Interactive - white papers (http://www.mercuryinteractive.com)
6. *** http://jakarta.apache.org

More Related Content

PPTX
Presentation1
PPTX
How to make Automation an asset for Organization
PPT
Automation Concepts
PPTX
Introduction to Automation Testing
PPTX
Introduction to Automation Testing
PPTX
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_21-04-2022_TES...
PDF
Test Automation
PPTX
Chap 5 Testing tools and measurement.pptx
Presentation1
How to make Automation an asset for Organization
Automation Concepts
Introduction to Automation Testing
Introduction to Automation Testing
WINSEM2021-22_ITE2004_ETH_VL2021220500452_Reference_Material_I_21-04-2022_TES...
Test Automation
Chap 5 Testing tools and measurement.pptx

Similar to 11_Automated_Testing.ppt (20)

PPTX
Automated software Testing
PPTX
Introduction to Software Testing Techniques
PPTX
Automation testing
PPTX
Manual Testing and Automation Testing Presentation.pptx
PPSX
Chapter 10
PDF
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
PPTX
Unit 5 st ppt
PPSX
Introduction to Automation Testing
PPTX
Comparison of automation and manual testing pixel values technolabs
PDF
programs testing programs
PDF
Selenium - A Trending Automation Testing Tool
PPT
Automation testing
PPTX
unit-5 SPM.pptx
PDF
Agile Testing Pasadena JUG Aug2009
PPTX
Benefits from AATs
PPTX
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
PDF
Automated testing handbook from Linda Hayes
PDF
Software Test Automation
PPT
Test automation workshop slideset
PPTX
Software testing
Automated software Testing
Introduction to Software Testing Techniques
Automation testing
Manual Testing and Automation Testing Presentation.pptx
Chapter 10
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
Unit 5 st ppt
Introduction to Automation Testing
Comparison of automation and manual testing pixel values technolabs
programs testing programs
Selenium - A Trending Automation Testing Tool
Automation testing
unit-5 SPM.pptx
Agile Testing Pasadena JUG Aug2009
Benefits from AATs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Automated testing handbook from Linda Hayes
Software Test Automation
Test automation workshop slideset
Software testing
Ad

More from ShivareddyGangam (20)

PPTX
Student Voting Application for Election – Using SMS (1).pptx
PDF
Project Management (2).pdf
PPT
PDF
The Product and Process(1).pdf
PPT
Unit24_TopologicalSort (2).ppt
PPT
Lecture1_jps (1).ppt
PPTX
2 semai.pptx
PDF
artificialintelligencea-200326090832.pdf
PDF
Software Project Risks Management (1).pdf
PDF
Introduction (1).pdf
PDF
Unit 3 (1) (1).pdf
PDF
Unit 1 (1).pdf
PPT
Strassen.ppt
PDF
Notion of Algorithms.pdf
PPTX
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
PDF
Project Management.pdf
PPT
chapter2.ppt
PDF
machinelearningengineeringslideshare-160909192132 (1).pdf
PPTX
intelligent agent (1).pptx
Student Voting Application for Election – Using SMS (1).pptx
Project Management (2).pdf
The Product and Process(1).pdf
Unit24_TopologicalSort (2).ppt
Lecture1_jps (1).ppt
2 semai.pptx
artificialintelligencea-200326090832.pdf
Software Project Risks Management (1).pdf
Introduction (1).pdf
Unit 3 (1) (1).pdf
Unit 1 (1).pdf
Strassen.ppt
Notion of Algorithms.pdf
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
Project Management.pdf
chapter2.ppt
machinelearningengineeringslideshare-160909192132 (1).pdf
intelligent agent (1).pptx
Ad

Recently uploaded (20)

PDF
Cryptography and Network Security-Module-I.pdf
PDF
[jvmmeetup] next-gen integration with apache camel and quarkus.pdf
PPTX
CS6006 - CLOUD COMPUTING - Module - 1.pptx
PPTX
Unit IImachinemachinetoolopeartions.pptx
PDF
Principles of operation, construction, theory, advantages and disadvantages, ...
PPTX
AI-Reporting for Emerging Technologies(BS Computer Engineering)
PPTX
Wireless sensor networks (WSN) SRM unit 2
PPTX
INTERNET OF THINGS - EMBEDDED SYSTEMS AND INTERNET OF THINGS
PPTX
chapter 1.pptx dotnet technology introduction
PPTX
WN UNIT-II CH4_MKaruna_BapatlaEngineeringCollege.pptx
PDF
electrical machines course file-anna university
PPTX
Environmental studies, Moudle 3-Environmental Pollution.pptx
PDF
Unit1 - AIML Chapter 1 concept and ethics
PPTX
SE unit 1.pptx aaahshdhajdviwhsiehebeiwheiebeiev
PPTX
Micro1New.ppt.pptx the mai themes of micfrobiology
PDF
Beginners-Guide-to-Artificial-Intelligence.pdf
PPTX
BBOC407 BIOLOGY FOR ENGINEERS (CS) - MODULE 1 PART 1.pptx
PDF
VTU IOT LAB MANUAL (BCS701) Computer science and Engineering
PDF
Research on ultrasonic sensor for TTU.pdf
PDF
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
Cryptography and Network Security-Module-I.pdf
[jvmmeetup] next-gen integration with apache camel and quarkus.pdf
CS6006 - CLOUD COMPUTING - Module - 1.pptx
Unit IImachinemachinetoolopeartions.pptx
Principles of operation, construction, theory, advantages and disadvantages, ...
AI-Reporting for Emerging Technologies(BS Computer Engineering)
Wireless sensor networks (WSN) SRM unit 2
INTERNET OF THINGS - EMBEDDED SYSTEMS AND INTERNET OF THINGS
chapter 1.pptx dotnet technology introduction
WN UNIT-II CH4_MKaruna_BapatlaEngineeringCollege.pptx
electrical machines course file-anna university
Environmental studies, Moudle 3-Environmental Pollution.pptx
Unit1 - AIML Chapter 1 concept and ethics
SE unit 1.pptx aaahshdhajdviwhsiehebeiwheiebeiev
Micro1New.ppt.pptx the mai themes of micfrobiology
Beginners-Guide-to-Artificial-Intelligence.pdf
BBOC407 BIOLOGY FOR ENGINEERS (CS) - MODULE 1 PART 1.pptx
VTU IOT LAB MANUAL (BCS701) Computer science and Engineering
Research on ultrasonic sensor for TTU.pdf
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf

11_Automated_Testing.ppt

  • 2. 2 / Ropota Andrei / Automated Testing / Content What is Automated Testing? Automated Testing Advantages Limitation of Automated Testing Automated testing vs. manual testing Automated Test Life-Cycle Methodology (ATLM) Automated Testing in CAR Multimedia IAS
  • 3. 3 / Ropota Andrei / Automated Testing / What is Automated testing? Automated testing: The management and performance of test activities, to include the development and execution of test scripts having as objective the verification of test requirements, using an automated test tool. The automation of test activities reveals its greatest values in instances where test scripts are repeated or where test scripts subroutines are created and then invoked repeatedly by a number of test scripts. Given the continual changes and additions to requirements and software, automated tests serves as an important control mechanism to ensure accuracy and stability of the software through each build.
  • 4. 4 / Ropota Andrei / Automated Testing / Automated testing advantages Costs and efficiency Detection of the errors that reached production phase (with regression tests) Multiple users simulation Reusable of the old scripts -> creation of the new scripts is reduce automatic execution of performance tests in the beginning of the production ->less costs for improving the performance Time economy quick analysis in case of changing of environment parameters short duration of the testing cycles better estimation for test planning a large number of tests can be executed over night quick generation of testing preconditions Quality increase automatic compare of results more consistent results due to repeating tests
  • 5. 5 / Ropota Andrei / Automated Testing / Limitation of Automated Testing Most of the times an Automated Testing system can't tell if something "looks good" on the screen or when a pictogram or a window is not displayed well There are a bunch of problems that can appear when trying to automate the testing process: Unrealistic expectations (e.g. expectation that automated tests will find a lot of errors) Poor testing experience Maintenance of automated tests Automated testing will never replace definitely the manual testing Tests that should not be automated are: tests that are executed very rare where the system is very unstable tests that can be verified easily manually but hardly automated tests that need physical interaction
  • 6. 6 / Ropota Andrei / Automated Testing / Automated testing vs. Manual testing Pros of Automated testing If a set of tests must be ran repeatedly, automation is a huge win It offers the possibility to run automation against code that frequently change to catch regressions Offers the possibility to add a large test matrix (e.g. different languages on different OS platforms) Automated tests can be run the same time on different machines, whereas manual tests must be run sequentially It offers more time for the test engineer to invoke greater depth and breadth of testing, focus on problem analysis, and verify proper performance of software following modifications and fixes Combined with the opportunity to perform programming tasks, this flexibility promotes test engineer retention and improves his morale Cons of Automated testing Costs - Writing the test cases and writing or configuring the automate framework that is used costs more initially than running the test manually. Some tests can't be automated – manual tests are needed
  • 7. 7 / Ropota Andrei / Automated Testing / Automated testing vs. Manual testing (2) Pros of Manual testing If the test case runs once or twice most likely is a manual test. Less cost than automating it. It allows the tester to perform more ad-hoc (random tests). Experience has proven that more bugs are found via ad-hoc (Experience Based Testing) than via automation testing. And more time the testers spends playing with the feature, the greater are the chances of finding real user problems. Cons of Manual testing Running tests manually can be very time consuming The manual tests are requiring more people and hardware Each time there is a new build, the tester must rerun all required tests - which after a while would become very boring and tiresome.
  • 8. 8 / Ropota Andrei / Automated Testing / Automated Test Life-Cycle Methodology (ATLM) 1. Decision to Automate Test 2. Test Tool Acquisition 3. Automated Testing Introduction Process 4. Test Planning, Design and Development 5. Execution and Management of Tests 6. Test Program Review and Assessment
  • 9. 9 / Ropota Andrei / Automated Testing / Decision to Automate Test: Overcoming False Expectations EXPECTATION Automatic test plan generation Test tool fits all Imminent test effort reduction Tool ease of use Universal application of test automation 100% test coverage REALITY No tool can create automatically a comprehensive test plan No single tool can support all operating systems environments and programming languages Initial use of an automated test tool can actually increase the test effort Using an automated tool requires new skills, additional training is required Not all the tests required for a project can be automated (e.g. some test are physically impossible; time or cost limitation) It is impossible to perform an exhaustive testing of all the possible inputs (simple or combination) to a system
  • 10. 10 / Ropota Andrei / Automated Testing / Decision to Automate Test: Benefits of Automated Testing Production of a reliable system Improved requirements definition Improved performance/load/stress testing Improved partnership with development team Improved system development life cycle Improvement of the quality of the test effort Improved build verification testing (smoke testing) Improved regression testing Improved multiplatform/software compatibility testing Improved execution of the repetitive tests Improved focus on advanced test issues Execution of tests that manual testing can't accomplish Ability to reproduce software defects After-hours testing Reduction of test effort and minimization of schedule
  • 11. 11 / Ropota Andrei / Automated Testing / Test Tool Acquisition Identify which of the various tool types suit the organization system environment, considering: - the group/department that will use the tool; - the budget allocated for the tool acquisition; - the most/least important functions of the tool etc. Choose the tool type according to the stage of the software testing life cycle Evaluate different tools from the selected tool category Hands-on tool estimation – request product demonstration (evaluation copy) Following the conclusion of the evaluation process, an evaluation report should be prepared Business analysis phase business modeling tools configuration management tools defect tracking tools Requirements definition phase requirements management tools requirements verifiers tools Analysis and design phase database design tools application design tools Programming phase syntax checkers/debuggers memory leak and run-time error detection tools source code or unit testing tools static and dynamic analyzers Testing phase test management tools network testing tools GUI testing tools (capture/playback) non-GUI test drivers load/performance testing tools environment testing tools
  • 12. 12 / Ropota Andrei / Automated Testing / Automated Testing Introduction Process – Test Process Analysis Process review Test process characteristics (goals, strategies, methodologies) have been defined and they are compatible with automated testing Schedule and budget allows process implementation The test team is involved from the beginning of SDLC Test goals Increase the probability that application under test will behave correctly under all circumstances Increase the probability that application meets all the defined requirements Execute a complete test of the application within a short time frame Test objectives Ensure that the system complies with defined client and server response times Ensure that the most critical end-user paths through the system perform correctly Incorporate the use of automated test tools whenever feasible Perform test activities that support both defect prevention and defect detection Incorporate the use of automated test design and development standards to create reusable and maintanable scripts Test strategies Defect prevention (early test involvement, use of process standards, inspection and walkthroughs) Defect detection (use of automated test tools, unit/integration/system/acceptance test phase)
  • 13. 13 / Ropota Andrei / Automated Testing / Test Planning The test planning element of the ATLM incorporates the review of all activities required in the test program It ensures that testing processes, methodologies, techniques, people, tools, schedule and equipment are organized and applied in an efficient way Key elements: planning associated with project milestone events, test program activities and test program-related documentation. The following must be accomplished: - the technical approach for these elements is developed; - personnel are assigned - performance timelines are specified in the test program schedule. Test planning is not a single event, but rather a process. It is the document that guides test execution through to a conclusion, and it needs to be updated frequently to reflect any changes.
  • 14. 14 / Ropota Andrei / Automated Testing / Test Design Test program model definition – identifies the test techniques that apply to the test program Test architecture definition – involves the selection of a test architecture model and population of model attributes Test procedure definition – groups logically the test procedures Automated/manual test mapping (decision what to automate) Black-Box Test Techniques Automated Test Tools Random Testing GUI Test Tools Regression Testing GUI/Server Test Tools Stress/Performance Testing Load Test Tools Security Testing Security Test Tools Data Integrity Testing Data Analysis Tools Configuration Testing Multiplatform Test Tools Functional Testing Load/GUI/Server Test Tools User Acceptance Testing GUI Test Tools Usability Testing Usability Measurement Tools Alpha/Beta Testing Load/GUI/Server Test Tools Boundary Value Analysis Develop program code to perform tests Backup and Recoverability Testing Load/GUI/Server Test Tools
  • 15. 15 / Ropota Andrei / Automated Testing / Test Development Development Guideline Topics Description Design-to-Development Transition Specify how design and setup activities will be translated into test development action Reusable Test Procedures Test procedures need to be reusable for highest test program return on investment Data Avoid hard-coding data values into scripts Capture/Playback Outlines on how to apply the use of capture/playback recording Maintainable Test Procedures A test procedure whose defects are easy to remove and can easily be adapted to meet new requirements Test Script Documentation Test script documentation is important for test procedure maintainability Naming Standards Defines the standard naming convention for test procedures Modularity Guidelines for creating modular test scripts Global Files Globally declared functions are available to any procedure Constants Use of constants in order to support maintainable procedure
  • 16. 16 / Ropota Andrei / Automated Testing / Test Execution
  • 17. 17 / Ropota Andrei / Automated Testing / Automated testing in CAR IMM Iasi Requirements management : DOORS Test management tool: SiTemppo Automated test tools: TUX, TTCN-3, Silk Test
  • 18. 18 / Ropota Andrei / Automated Testing / TTCN-3 TTCN-3 is the Testing and Test Control Notation version 3 Internationally standardized testing language for formally defining test scenarios – design purely for testing developed from 1999 – 2002 at the European Telecommunications Standards Institute (ETSI) A programming language that has been used for more than 20 years in standardization as well as industry Area of Testing - Conformance and Functionality Testing - Pre-integration Testing - Integration and Interoperability Testing - Regression Testing - Load/Stress Testing
  • 19. 19 / Ropota Andrei / Automated Testing / Advantages of using TTCN-3 Systematic product testing Large percentage of testing coverage Parallel testing and develop processes Automated testing so it can be run without user intervention Complex and multiple scenarios implementation Clear and exact bug reports Easy management of errors and bug fixing Reusable tests and consistent version validation Automated regression tests on all levels Control and exact status of product quality in all development stages
  • 20. 20 / Ropota Andrei / Automated Testing / Black-box testing with TTCN-3 TTCN-3 Test Case Port.send(Stimulus) Port.receive(Response) System Under Test Port • Assignment of a Test Verdict TTCN-3 is applicable for all kinds of black-box testing for reactive and distributed systems.
  • 21. 21 / Ropota Andrei / Automated Testing / Tux The Tux test harness (Tux) is a 32-bit client/server test harness that executes test modules stored in dynamic-link library (.dll) files. Tux groups tests, maintains statistics, and provides a user interface (UI). With Tux, you can write clean, short, and platform-independent test cases without the overhead required to write a complete application. Tux was developed for real time tests, driver tests and is suitable for performance tests. Most simple set-up for executing Tux tests on a target device: Tux.exe Kato.dll target device + Test .dll Properties of Test .dll: Test .dll contains test cases, test strategy, test sequence, in other words: test implementation and test intelligence Source code is written in C / C++ Must export certain mandatory functions for Tux.exe Tux.exe - Test harness Kato.dll - Logging engine
  • 22. 22 / Ropota Andrei / Automated Testing / Other Automated Test Tools Mercury Interactive - www.mercuryinteractive.com Application performance management Topaz – solution for performance management from the end-user perspective: real time alerts receiver, user problems correlation with system data, service levels management Test management Functional testing Load testing TestDirector – global solution for test process management, containing four modules: Requirements, Test Plan, Test Lab, Defects Manager Astra FastTrack – defect management tool for Web applications Astra QuickTest – tool that allows both the beginner and experienced testers to test the dynamic Web applications WinRunner – functional testing solution for GUI applications QuickTest professional - tool for automation process of functional and regression testing of the dynamic Web applications XRunner – automation functional testing of the X-Window applications LoadRunner – load and performance testing management Astra LoadTest – quick solution for performance and scalability testing of the Web applications LoadRunner TestCenter – complete solution that allows multiple and concurent testing management, from different locations. All the resources are centralized and accesible from a single control center
  • 23. 23 / Ropota Andrei / Automated Testing / Other Automated Test Tools (2) Segue - www.segue.com Application performance management SilkVision – solution for application behavior monitoring SilkTest – tool for application scalability and stress testing SilkPerformer – simulates the application performance and stress testing SilkPlan – process manaagement package Rational – www.rational.com Application performance management Test management Rational Suite TestStudio Rational Test RealTime Rational TestManager Compuware Corporation www.compuware.com Application performance management Abend-AID File-AID PointForward QACenter XPEDITER Production Readiness Quality Assurance Development and Integration Abend-AID NuMega QA Center File-AID Uniface Vantage
  • 24. 24 / Ropota Andrei / Automated Testing / References 1. Herbert M. Isenberg - The practical organization of automated software testing (http://www.automatedtesting. com/PATfinal.htm) 2. Brett Pettichord - Success with test automation (http://www.io.com/~wazmo/succpap.htm) 3. Elisabeth Hendrickson - Test automation advice (http://www.qualitytree.com/autotest/autotest.htm) 4. Elfriede Dustin, Jeff Rashka - Automated Software Testing (Addison Wesley Longman Inc., ISBN: 0201432870 ) 5. *** - Mercury Interactive - white papers (http://www.mercuryinteractive.com) 6. *** http://jakarta.apache.org

Editor's Notes

  • #11: Improved requirements definition Improved requirements definition Improved requirements definition: Generation of clear requirements helps the minimization of time and effort