automated software testing term paper1
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?