automated software testing term paper1

Upload: christina-hepzy

Post on 06-Jul-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/16/2019 Automated Software Testing Term Paper1

    1/11

    TERM PAPER ON

    AUTOMATED SOFTWARE

    TESTINGADVANCED SOFTWARE ENGINEERING CSC 532

      PRESENTED BY

      VISHAL D RAMPURE

  • 8/16/2019 Automated Software Testing Term Paper1

    2/11

     ABSTRACT:   In the present day scenario there is need for accelerated softwaredevelopment. Automated testing  is process through which thorough and fast testing can

    be done become. This quality of automated testing has made it an essential part of 

     software development. This has become more important than ever before given the need to accelerate software development and reduce the time to market in the fast changing 

    business environment.

     Automated testing is also preferred from software engineering point of view because awell organized approach to automated functional software testing can achieve significant 

    cycle-time and quality improvements. By integrating automated testing into the software

    development program you gain a number of benefits!

    •  "educed cycle time by decreasing product and integration test time.

    •  Improved quality

    • #tandardized testing and reproducible results.

    1. INTRODUCTION:

     

    Software testing is an integral part of software development

     process. Software testing is analyzing a system or a component by providing definedinputs and comparing them with the desired outputs to check the discrepancies between

    the desired and actual outputs and correct them. Basically software testing can be divided

    into two categories.

    • Manual testing

    • Automated software testing

    Manual software testing is as the name suggests done manually that is it requires humaninput, analysis and evaluation. Automated software testing is the automated version of 

    manual software testing.

    Software testing has evolved since !"#$s as an integral part of 

    software development process. %he reason being the ability check the errors and faults

     present in the software so that they are corrected .%esting is done in many phasesdepending upon the requirements of the software being developed. %esting can be both

    manual and automated depending on what suits the requirements. %esting is a planned

  • 8/16/2019 Automated Software Testing Term Paper1

    3/11

     process with care taken especially on what test has to be done when. &e will be

    discussing Automated software testing in detail in this paper.

    2. AUTOMATED SOFTWARE TESTING:

    'sing automated software testing helps in avoiding the error humans make. %heerror may occur due when humans get tired of doing the process repeatedly. Automated

    testing programs will not do the same they will not miss a test by mistake. %he automated

    test program will also provide a means of storing the results of the tests accurately. %heresults can be automatically fed into a database and can be used to provide useful

    statistics on how the software development process is progressing.

    3. REQUIREMENTS FOR AUTOMATED SOFTWARE TESTING:

    All the tests are not automated. %here are certain requirements for a test to be

    automated. %hey may be financial restrictions or limited man power and many. %here a

    few basic questions whose answers could give you an idea whether the test has to beautomated or not. %hey are as follows

    . (an the test sequence of actions be defined)

    *. +s it necessary to repeat the sequence of actions many times)

    . +s it possible to automate the sequence of actions)

    -. +s the behavior of the software under test the same with automation as without)

    . /o you need to run the same tests on multiple hardware configurations)

    %he above questions will give an ideal picture of whether the test can be

    automated or not. %heir may be many other things which influence the decision of automated.

    4. HOW IS AUTOMATED SOFTWARE TESTING DONE?

      Automation of software testing is similar to a software development process .+tgoes through the same life cycle as in the development of software product .%he

    important think that has to be taken care of is who is writing the scripts. %here is always a

    conflict on who writes the scripts whether a developer or a testing team member. +ts is

    always a good idea and normally followed by many organizations that the effort should be a collaborated effort between tester and the developer.

    %he automation process goes through a lot of effort taking collaborated work because alot of emphasis is given for the time and financial constraint .%he automation process

    may be divided into many phases but as a whole in general perspective it goes through he

    following phases in

  • 8/16/2019 Automated Software Testing Term Paper1

    4/11

  • 8/16/2019 Automated Software Testing Term Paper1

    5/11

    4.1 FINALIATION OF TEST AUTOMATION AND MA!ING A TEST PLAN:

      /uring this phase it is decided which tests can be automated. %he criteria for thisselection are based upon the questions mentioned in "#$% 3 of the document. %he test

     plan is made. %he test automation process is similar to the software development process.

    +t takes similar effort to automate a test. +t follows the same cycle as in development of asoftware product. %he plan is made by taking into consideration amount of time required

    and number of people required and who does it.

    4.2 SELECTION OF TOOL:

    %est tool selection is a very important part of test automation. %his requires the

    study of the scope of testing and the test plan .+t is also needed to know whether the test

    tool meets the test suite requirements for the particular product and version. %heimportant factors that also come into picture are reusability, reliability and cost. %his is

    done to see if they can get the ma2imum benefit out the product being made, bought or customized

      %he test tool should support

    . Scripting interface

    *. 0acility to give valid and invalid input

    . 3esult comparison

    -. %o give the verdict

    %he test manager has to look for tools which are already available and check which one issuitable. +f the manager does not find any tool that is not suitable than he think of takingan available tool and customizing it according to the needs. +f this not possible then only

    should the manager decide to develop a new tool.

    4.3 DEVELOPMENT AND TESTING OF SCRIPTS:

    /evelopment process includes both development and testing of scripts. %hismainly depend on two factors 

    . %he skill of the person who is writing the scripts

    *. 4n the fle2ibility of the test tool for developing for all valid and invalid

    scenarios

    +t is always advisable to develop scripts in a modular way .%his modular approach

    towards writing scripts helps in reusability of the module in the different scripts. %his

    approach will use less time and will be enable the use of the scripts across different

    releases. %he scripts should always be tested before being put to use .%hey can be tested

  • 8/16/2019 Automated Software Testing Term Paper1

    6/11

    on an already released version of the software. %his is done to avoid problems which may

    arise during the testing process.

     4.4 TESTING USING AUTOMATED TESTING SCRIPTS:

    %his is the face where the actual testing is done. +t solely depends on the

    test plan when a test is automated which one are automated and in which part of the

    development cycle these tests are done. %he scripts that have been made are developed insuch manner that if there is another version release of the software product then these

    scripts could be used for testing purpose for that version too. %hese thinks have to be kept

    in mind by the test manager when he plane for test automation.

    5. TOOLS FOR AUTOMATED SOFTWARE TESTING:

      0or many test managers, the decision of which testing tools to use can

    cause confusion. %he first decision to make is which category of tool to use5one thattests specific units of code before the application is fully combined, one that tests how

    well the code is working as envisioned, or one that tests how well the application

     performs under stress. And once that decision is made, the team must wade through a

    variety of choices in each category to determine which tool best meets its needs.6valuating your needs will narrow down your short list very rapidly. %here are many

    options in market to choose. /epending on what sort of test it will be used for the choice

    may become easy. %he following general categories categorize the tests and tools whichmakes it easy to choose

    . /eveloper oriented tools

    *. 0unctional testing tools

    . 7oad testing tools

    -. 8erformance monitoring and maintenance tools

    5.1 DEVELOPER ORIENTED TOOLS:

      %ools in this category, also called component testing tools or unit testing

    tools, test individual software components or groups of related components, helping

    isolate and rectify problems as early in the development process as possible. Areas of 

    testing include memory analysis, function analysis . %he important tools in this area are

    • /ev8artner Studio from (ompuware (orp.

    • 8urify8lus from +BM 3ational.

    • Optimizeit Enterprise Suite from Borland Software Corp.

    • C++Test,Jtest and TEST from Parasoft.

  • 8/16/2019 Automated Software Testing Term Paper1

    7/11

    5.2 FUNCTIONAL TESTING TOOLS:

      %ools in this class help verify that applications will work as e2pected. +tallows developers to record an e2isting application and modify scripts to meet changes in

    an upcoming release. %hey also provide for regression testing on the new release using

    the test scripts developers have captured up until that point. %he important tools in this

    area are

    • &in3unner from Mercury interactive (orp.

    • Astra 9uick%est Mercury interactive (orp.

    • Silk%est from Segue Software +nc.

    • 3ationalSuite %estStudio from +BM 3ational.

    5.3 LOAD TESTING TOOLS:

      %his category, also called performance or stress testing tools, tests whathappens to the code as the application scales with multiple users in a simulated

    environment. %he tools test, among other things, whether performance degrades as the

    load is increased. 4nce bottlenecks are found, these tools can determine the source of the problem and begin fi2ing it. %he important tools in this area are

    • 7oad3unner from Mercury+nteractive.

    • Silk8erformer from Segue Software +nc.

    • %estperspective and 7oad test editor from :eynote Systems +nc.

    • 9A(entre from (ompuware.

    5.4 PERFORMANCE MONITORING AND MAINTENANCE TOOLS:

      All the tools in this category are used after the application is already in

     production by e2amining how the application is working in a real;world environment. +nessence, these tools monitor the production environment to ensure that all requirements

    and defined thresholds are continually being met. %he important tools in this area are

  • 8/16/2019 Automated Software Testing Term Paper1

    8/11

    • Optimizeit Enterprise Suite from Borland Software Corp.

    • 4neSight from 6mpiri2

    & .PRACTICAL FEATURES OF AUTOMATED SOFTWARE TESTING:

    1.3un all day and night in unattended mode

    2.System continues running even if a test case fails

    3.:eep the automated system up and running at all costs

    4.3ecognize the difference between hard and soft errors

    5.&rite out meaningful logs

    6.4ne point maintenance

    7.6asy to update reusable modules

    8.%e2t strings stored in variables easy to find and update

    9.&ritten in an 6nglish;like language easy to understand

    10.Automated most important business functions first.

    11.9uickly add scripts and modules to the system for new features

    12./on$t waste time with very comple2 features, keep it simple

    13.(ollect other useful information such as operating system and (AS6 tool

    message

    14.%rack components of the automated testing system in a database

    15.%rack reusable modules to prevent redundancy

    16.(arefully test the testing system

    17.:eep track of tests coverage provide by automated test suites

    18.%rack which test cases are automated and which are manual

    19.'se same architecture for &eb or 1'+ based application testing

    20.Make sure baseline data is defined and process in place to refresh data

    21.:eep test environment clean and up;to;date

  • 8/16/2019 Automated Software Testing Term Paper1

    9/11

    22.%est case management ; store test cases in a database for maintenance

     purposes

    23.%rack tests that pass, as well as test that fail.

    '. PROS:

      %he general benefits of automation are as follows.

    . %ests can be run faster. As compared to manual testing they take lesser time

    *. Automated test are consistent.

    . %ests can be run over and over again with less overhead.

    -. As more automated tests are added to the test suite more tests can be run each

    time thereafter.

    . Manual testing never goes away,

    =. %he efforts that were used for manual testing can now be focused on more

    rigorous tests.

    (. CONS>

    . (osts of test automation include personnel to support test automation for the

    long term.

    *. A dedicated test environment is needed

    . %he cost for the purchase of development and maintenance of tools.

  • 8/16/2019 Automated Software Testing Term Paper1

    10/11

    -. +f contractors are used to help build or champion the test automation effort

     because of their e2perience, there is the risk that much of the e2perience and

    skills will not be there when the contractor leaves.

    . +f there is going to be a product change then long term automation is a waste

    =. +t is very e2pensive to maintain automated testing environment.

    ). CONCLUSION:

      Automation of software testing is not an easy process. +t involves a lot

    effort. Automation is also a e2pensive process in terms of direct finance and the peoplerequired for. &e can conclude that if automation is dine in very definitive manner and

    with all aspects considered it can be asset to the company.

    1*. REFERENCES:

    . http>??www.origsoft.com?+ssues;buscase;-save.htm

    *. http>??www.sqa;test.com?A%S@%ips.html

    . http>??www.sqa;test.com?articles.html

    -. http>??www.origsoft.com?+ssues*;comptest;cov.htm

    . http>??www.cssttechnologies.com?%est*#3equirements*#for*#automated

    *#%esting.htm

    =. http>??www.io.com?wazmo?succpap.htm

    ". http>??www.hssworld.com?whitepapers?whitepaper@[email protected] 

    http://www.origsoft.com/Issues3-buscase-4save.htmhttp://www.sqa-test.com/ATS_Tips.htmlhttp://www.sqa-test.com/articles.htmlhttp://www.origsoft.com/Issues2-comptest-1cov.htmhttp://www.cssttechnologies.com/Test%20Requirements%20for%20automated%20Testing.htmhttp://www.cssttechnologies.com/Test%20Requirements%20for%20automated%20Testing.htmhttp://www.io.com/~wazmo/succpap.htmhttp://www.hssworld.com/whitepapers/whitepaper_pdf/test_automation.pdfhttp://www.origsoft.com/Issues3-buscase-4save.htmhttp://www.sqa-test.com/ATS_Tips.htmlhttp://www.sqa-test.com/articles.htmlhttp://www.origsoft.com/Issues2-comptest-1cov.htmhttp://www.cssttechnologies.com/Test%20Requirements%20for%20automated%20Testing.htmhttp://www.cssttechnologies.com/Test%20Requirements%20for%20automated%20Testing.htmhttp://www.io.com/~wazmo/succpap.htmhttp://www.hssworld.com/whitepapers/whitepaper_pdf/test_automation.pdf

  • 8/16/2019 Automated Software Testing Term Paper1

    11/11

    C. http>??www.stsc.hill.af.mil?crosstalk?*##*?#?rice.pdf 

    !. http>??www.testing.com?writings?automate.pdf 

    #. http>??www.automated;testing.com?8A%final.htm

    . http>??www.stickyminds.com?sitewide.asp)

    4bDect+dECF0unctionE/6%A+7B34&S6F4bDect%ypeEA3%

    *. http>??www.mactech.com?articles?mactech?