Automated Software Testing Automated Software Testing Elfriede Dustin

  • Slides: 40
Download presentation
Automated Software Testing

Automated Software Testing

Automated Software Testing Elfriede Dustin • Latest book “Implementing Automated Software Testing” Mar 2009

Automated Software Testing Elfriede Dustin • Latest book “Implementing Automated Software Testing” Mar 2009 • Book “The Art of Software Security Testing” (Dec 2006) • Book “SAP Testing” (Spring 2007) • Author of book: “Effective Software Testing” (Dec 2002) • Books: “Automated Software Testing” and “Quality Web Systems” www. idtus. com

Who is IDT? • IDT specializes in the design, development, and implementation of Automated

Who is IDT? • IDT specializes in the design, development, and implementation of Automated Software Testing solutions – Implement turn key automated test suites – Training and pilot project implementation with companies • Research & Development related to Automated Testing Technologies • 3

Challenge – The Software Landscape Deliver More Capability, Faster and Cheaper • Innovative Software

Challenge – The Software Landscape Deliver More Capability, Faster and Cheaper • Innovative Software Technologies • Increased System Complexity • More Software to Test • Less Time • Fewer People Our Ability to Test these Technologies has Not Kept Pace with Our Ability to Create Them

More Time Than Ever is Spent on Software Testing 1990: Beizer: “” half the

More Time Than Ever is Spent on Software Testing 1990: Beizer: “” half the labor expended to develop a working program is typically spent on testing activities. ” 2002: Hailpern and Santhanam ". . . debugging, testing, and verification activities can easily range from 50 to 75 percent of the total development cost. " 2008: Redmond Developer News “…Industry analysts estimate that developers spend only about 20 percent of their time designing and coding. . . the bulk of their time is spent on resolving application problems…"

The Opportunity Utilize Automated Testing Strategies and Technologies to Improve Productivity and Quality Regression

The Opportunity Utilize Automated Testing Strategies and Technologies to Improve Productivity and Quality Regression Testing Increased Test Coverage Automate manual tests that consume the most resources Performance Testing Endurance Testing M an ua l Reduction in Test Days Interface Testing Automated Manual vs. Automated Test Coverage Compliance Testing • 6

Who Can Benefit? Organizations and Projects Responsible for Software Testing of Complex Systems •

Who Can Benefit? Organizations and Projects Responsible for Software Testing of Complex Systems • Regression testing ─ Manpower Intensive ─ Time Consuming • Expanded test coverage • Analysis for large quantities of test data • Performance and endurance testing • Compliance testing

Definition of Automated Software Testing Application and implementation of software technology throughout the entire

Definition of Automated Software Testing Application and implementation of software technology throughout the entire Software Testing Life Cycle (STL) with the goal to improve STL efficiencies and effectiveness

Why Automate? • Reduces the time and cost of software testing • Improves software

Why Automate? • Reduces the time and cost of software testing • Improves software quality • Enhances manual testing efforts via increased testing coverage and replaces the manually mundane and labor-intensive tasks • Does what manual testing can hardly accomplish, such as memory leak detection under specific conditions, concurrency testing, performance testing and more

Need for automated testing of mission critical systems - Requirements • Can’t be intrusive

Need for automated testing of mission critical systems - Requirements • Can’t be intrusive to system under test • Needs to be OS independent • Needs to be able to handle display and non-display centric automation • Needs to be able to handle multi-computer environment • Non-developers should be able to use the tool

Need for automated testing of mission critical systems - Requirements • Can’t be intrusive

Need for automated testing of mission critical systems - Requirements • Can’t be intrusive to system under test IDT’s answer: Use of VNC Technology and Image based automation

Need for automated testing of mission critical systems - Requirements • Needs to be

Need for automated testing of mission critical systems - Requirements • Needs to be OS independent IDT’s answer: Eclipse and plugin based, Java based

Need for automated testing of mission critical systems - Requirements • Needs to be

Need for automated testing of mission critical systems - Requirements • Needs to be able to handle display and non-display centric automation IDT’s answer: Capture/Playback Display based automation and message based automated testing, handling various protocols

Need for automated testing of mission critical systems - Requirements • Needs to be

Need for automated testing of mission critical systems - Requirements • Needs to be able to handle multi-computer environment IDT’s answer: Implementation handles heterogeneous environments, connecting multiple computers

Need for automated testing of mission critical systems - Requirements • Non-developers should be

Need for automated testing of mission critical systems - Requirements • Non-developers should be able to use the tool IDT’s answer: Keyword driven implementation

ATRT – Addresses Unique Challenges of Mission Critical Systems Current Industry provided automated testing

ATRT – Addresses Unique Challenges of Mission Critical Systems Current Industry provided automated testing tools focus on: IDT’s unique ATRT solutions address: Web based applications Thick client, diverse applications and protocols Windows Based Cross-platform (Linux, all flavors, Windows, etc. ) GUI Applications with Single Consoles Displays and message based testing, handling various protocols across many computers and consoles Intrusive to System Under Test (SUT) Non-intrusive to SUT; Uses VNC technology • 16

ATRT Overview • Test Organization – Projects • Test Cases – Test Steps »

ATRT Overview • Test Organization – Projects • Test Cases – Test Steps » Substeps …. • Currently support 2 types of Test Cases − Display / GUI − Message • 17

ATRT Display Automation – Capture / Record & Playback • Enables automation of actions

ATRT Display Automation – Capture / Record & Playback • Enables automation of actions of the test engineer: − − During testing, the engineer uses the keyboard, mouse, touch panels, etc to perform actions Testing tool captures actions and information from the screen, which are baselined in an automated test script − − • Input actions and expected results become the baseline During test playback, compare latest outputs with baselined results. Utilizes VNC technology – to remotely connect to system under test

ATRT - Capture/Playback • ATRT Display Automation uses a keyword driven approach – User

ATRT - Capture/Playback • ATRT Display Automation uses a keyword driven approach – User selects/clicks on a selection/image and a related keyword – ATRT generates relevant code behind the scene – User does not need to be a software developer/coder • Example Keywords used: • Left-click; Right-click; Wait for; Enter text …. • 19

Capture/Playback Illustration Test Step: • Open File • 20

Capture/Playback Illustration Test Step: • Open File • 20

ATRT Capture Playback Illustration – using Keywords ATRT Capture Action: 1. Select File 2.

ATRT Capture Playback Illustration – using Keywords ATRT Capture Action: 1. Select File 2. Left Click • 21

Capture / Record & Playback: ATRT generated code based on Keywords Keyword: Left-click generates

Capture / Record & Playback: ATRT generated code based on Keywords Keyword: Left-click generates this code behind the scenes: try put IDTImage. Retry. Function("1", "Image_1. tiff", "Click", "Image_1. tiff was found", "Image_1. tiff was not found") if Image. Found ("Image_1. tiff") then put Idt. Log. Local("1", SUB_STEP_PASS, "Image_1. tiff was found") Click Found. Image. Location() else wait 3 if Image. Found ("Image_1. tiff") then put Idt. Log. Local("1", SUB_STEP_PASS, "Image_1. tiff was found on 2 nd try") Click Found. Image. Location() else wait 3 if Image. Found ("Image_1. tiff") then put Idt. Log. Local("1", SUB_STEP_PASS, "Image_1. tiff was found on 3 rd try") Click Found. Image. Location() else put Idt. Log. Local("1", SUB_STEP_FAIL, "Image_1. tiff was not found") Capture. Screen "1. 1. error" put send. Error("1. 1. error. tiff") end if catch put IDTException("1", "1") end try

File - Open • 23

File - Open • 23

Image Comparison • Image results are compared to the baseline image previously captured –

Image Comparison • Image results are compared to the baseline image previously captured – Eggplant is the COTS product we currently use for the image comparison • Features include: – Image library – Wait for Image – Debug – Optical Character Recognition (OCR) • 24

Other Features • Allow for Manual Steps • Real-time Status • Reporting – Summary

Other Features • Allow for Manual Steps • Real-time Status • Reporting – Summary – Detailed • 25

 • Demo

• Demo

Automated Test Strategy Components ROI Metrics Design Process Business Case Strategy • 27

Automated Test Strategy Components ROI Metrics Design Process Business Case Strategy • 27

Business Case • The Business Case is the summation of the work performed in

Business Case • The Business Case is the summation of the work performed in the Automated Test Strategy. • It will layout each of the steps outlined in the following slides. • Begins with a current process assessment • Identify the keys to successfully implementing a program that will reduce risk and vulnerability.

Current Process Assessment • The Current Process Assessment reviews your current testing strategy to

Current Process Assessment • The Current Process Assessment reviews your current testing strategy to identify: – Testing Coverage Requirements – Testing Limitations – Potential Risks Testing Coverage Today Testing Coverage Needed

 • The Strategy section defines the plan on how to most cost effectively

• The Strategy section defines the plan on how to most cost effectively apply resources to attacking the problem • Not all tests can and should be done using automation. • This step will identify the best candidates and the logical order in which they should be performed. Importance Strategy Start w/ these Required Executions

Process • The process definition will outline what it will take to setup and

Process • The process definition will outline what it will take to setup and execute automated testing. • This definition will include: – Hardware Requirements – Recommended Software – Integration Strategy and Requirements • The process will also identify expected costs and effort to setup the proper environment. IDT automation techniques allow for the testing of the system without the installation of any software on the actual system thus allowing for a more accurate testing environment • 31

Design • The Design step identifies the people and procedures to perform the specified

Design • The Design step identifies the people and procedures to perform the specified tasks. • A key part of this is to identify the people necessary, by skill type, in order to ensure a successful program. • Once the people have been identified, you design how they will work to accomplish the mission. It is a mistake to think that software developers alone can implement a successful automated testing program

Metrics • Specific Metrics will be designed to be able to measure the overall

Metrics • Specific Metrics will be designed to be able to measure the overall success of the program. • Initial values for these Metrics will be gathered to define the baseline from the current process. • Example Metrics include – Person Hours Per Test – Tests Per Iteration – Coverage Percentage

ROI • The last step is to develop a potential Return On Investment from

ROI • The last step is to develop a potential Return On Investment from using Automated Test • Combines the Costs Identified in the Strategy, Process and Design Steps with the savings from both the automation and the risk and vulnerability reduction.

State of Testing • Business Drives Software Development and Testing § Software Development and

State of Testing • Business Drives Software Development and Testing § Software Development and Testing Drives Business §The best business ideas cannot be implemented on time or of high quality, if the software and testing teams don’t deliver. • 35

Software Testing: Perceived vs Actual Quality • 10 defects that occur very frequently and

Software Testing: Perceived vs Actual Quality • 10 defects that occur very frequently and impact critical functionality would usually be perceived by an end user as poor quality even if the defect density was very low • 100 defects that occur very infrequently and have almost no impact on operations would usually be perceived by an end user as good quality even if the defect density was high • “Usage-Based Testing” exploits the concept of perceived quality and thus yields higher perceived quality • 36

Perceived vs Actual Quality • Concept of “Perceived/Expected vs Actual Quality” – Difference between

Perceived vs Actual Quality • Concept of “Perceived/Expected vs Actual Quality” – Difference between growth and stagnation/failure/less success • • • 37 aol. com vs Compu. Serve. com Google. com vs Yahoo. com Amazon. com vs Otherbookseller. com Etc.

Perceived vs Actual Quality • Concept of “Perceived/Expected vs Actual Competition is only a

Perceived vs Actual Quality • Concept of “Perceived/Expected vs Actual Competition is only a few Quality” clicks away – Difference between growth and stagnation/failure – Amazon. com vs Otherbookseller. com – Etc. • 38

 ABOK Certification WHAT IS THE ABOK? ABOK A utomation B ody Of K

ABOK Certification WHAT IS THE ABOK? ABOK A utomation B ody Of K nowledge • Tool neutral test automation skill set • Reflects widely accepted industry practices • Tool for assessing test automation proficiency • Tool for identifying a track for test automator growth and development

Automated Software Testing …. . Changing How Testing Is Done Q&A Elfriede Dustin Email:

Automated Software Testing …. . Changing How Testing Is Done Q&A Elfriede Dustin Email: edustin@idtus. com 4401 Wilson Blvd, Suite 810 Arlington, VA 22203 Office Phone: (703) 725 -3051 www. idtus. com