Why Automate
Upcoming SlideShare
Loading in...5

Why Automate



automation for beginners

automation for beginners



Total Views
Views on SlideShare
Embed Views



1 Embed 3

http://www.linkedin.com 3



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Why Automate Why Automate Presentation Transcript

  • Software Development Lifecycle (SLDC)
    • QA process and the automation process can be different for different software lifecycles
    • 2 most popular SLDC
    • Agile
    • Waterfall
  • Agile
    • Complete software development is broken in many sprints.
    • For every sprint, certain software features need to be completed
    • Each sprint is typically 2 to 3 weeks
  • QA process for Agile
    • 2 kinds of testing needs to be done:
    • New feature testing- Make sure new features working properly
    • Regression testing- Make sure features from last weeks are still working
      • Regression testing are automated. Tests for new features from each sprint are added to existing automation tests.
  • Waterfall
    • Waterfall SLDC consists of following steps:
      • Idea
      • Analysis
      • Design
      • Development
      • Test
      • Final product
  • QA process for Waterfall
    • Test case is prepared after Design and before Development
    • Automation is done after development when Software is relatively stable (towards the middle of test period)
    • Generally Smoke test and Regression tests are automated
  • Automation Testing
    • Simulates actual user testing the software
    • Based on scripting languages
    • QTP – VBS
    • Selenium – Perl, Ruby, Python etc
    • Rational robot – SQABasic (similar to visual basic)
    • PAMIE – Python
    • High initial cost/effort
    • Pays off when used for long time.
  • When to Automate?
    • When same tests need to be performed on an application repeatedly, automation comes handy.
    • Regression testing to check features are working properly
    • enter massive amount of data to the application to facilitate next level of testing (manual/automated)
  • Why Automate?
    • Fast - Much faster in populating data and testing them
    • Reliable - tireless. no fatigue
    • Repeatable – same scenario can be recreated again and again following exact same steps.
    • programmable-expert users can program tests using standard VBS
    • Reusable - can use the tests even after the application changed
    • unattended testing - keeps testing without the presence of a tester (generally done over night to morning)
  • Why Automate?
    • detailed test report - generates helpful report
    • maintain log of software health - QTP reports can show what was the over all health of the software
  • Test Methodologies
    • Sanity Test – This test is conducted to determine if further testing can be done. This tests the most fundamental functionalities of the software.
    • Smoke test – Making sure every basic functionality of the software is working fine after software is updated with new codes. This is commonly automated
    • Regression Test – Previously working functionalities are still working fine. Automated in most cases
    • Integration test – How a specific part of the software interacting with other parts.
    • New feature testing – Testing a feature after development. Not automated most cases
    • Critical Path Testing – Testing for cases that has to work in order for the user to perform a task. This ignores corner cases. Most automation commonly takes critical path
    • Functional Testing – Testing calculations, workflows
    • Format testing – Testing for looks, color, spelling.
  • Sanity->Smoke->Regression
    • Sanity test takes the least amount of time (less than an hour) to conduct and covers only most fundamental functionalities at high level
    • Smoke test takes more time than sanity (half day or one day) and this covers all the functionality of the software but at high level
    • Regression test takes the most amount of time (one or two weeks) and this covers all functionality at low level (very detail)
  • Steps for automation
    • Know the application and functional specifications.
    • Find out what steps need to be performed to complete the process
    • Find out what information from the application can tell you if the test passed or failed
    • Create the automation script (navigation and checkpoints)
    • Analyze the result
    • Verify the result manually
    • Log bug
  • Know the application and functional specifications
    • Know spec
    • Know what is expected result
    • Find out what needs to be tested
  • Steps to perform the job
    • After determining what needs to be tested, determine what steps needed to perform that test
    • A manual test case
    • Determine a step by step process
  • Determine good Checkpoint
    • In the application, determine what can be good check point
    • A check point can be set on an object or value in the application that is particularly searched and a pass/fail report is created
  • Automation
    • Automate using VBS to navigate with in the application
    • Insert checkpoints in useful places
  • Analyze result and log bug
    • View Test result/report. Try to understand in which step Test failed.
    • Verify assumption by trying out manually
    • If the assumption is true, log bug.
  • QTP
    • Quick Test Pro
    • Winrunner is replaced by QTP
    • From Mercury
    • Integrated with other Mercury product: Quality Center,Test Director
    • Record and Play option for simple tests
    • VBS programming for complex tests
  • How QTP works
    • To perform certain tasks, QTP needs to identify objects in the page
    • Browser
    • Frame
    • Image
    • Link
    • Page
    • ViewLink
    • WebArea
    • WebButton
    • WebCheckBox
    • WebEdit
    • WebElement
    • WebFile
    • WebList
    • WebRadioGroup
    • WebTable
    • There can be many of same object in the page but QTP needs to perform an operation on only one
    • QTP separates that object from others by specific properties unique to that object
    • QTP defines an object in an hierarchical manner
    • For example, when QTP want to click on “Search” on google page:
    • It first defines the Browser, then defines the Page, then defines the webbutton (Search is a webbutton)
    • QTP needs to identify each of the object uniquely
    • QTP programmer needs to define each object such a way that QTP does not confuse with other objects