Documente Academic
Documente Profesional
Documente Cultură
ON
AUTOMATED SOFTWARE
TESTING
ADVANCED SOFTWARE ENGINEERING CSC 532
PRESENTED BY
VISHAL D RAMPURE
ABSTRACT:
In the present day scenario there is need for accelerated software
development. 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 a
well 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:
Improved quality
1. INTRODUCTION:
Software testing is an integral part of software development
process. Software testing is analyzing a system or a component by providing defined
inputs 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
Manual software testing is as the name suggests done manually that is it requires human
input, analysis and evaluation. Automated software testing is the automated version of
manual software testing.
Software testing has evolved since 1970s as an integral part of
software development process. The reason being the ability check the errors and faults
present in the software so that they are corrected .Testing is done in many phases
depending upon the requirements of the software being developed. Testing can be both
manual and automated depending on what suits the requirements. Testing is a planned
process with care taken especially on what test has to be done when. We will be
discussing Automated software testing in detail in this paper.
2. AUTOMATED SOFTWARE TESTING:
Using automated software testing helps in avoiding the error humans make. The
error 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. The automated
test program will also provide a means of storing the results of the tests accurately. The
results 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. There are certain requirements for a test to be
automated. They may be financial restrictions or limited man power and many. There a
few basic questions whose answers could give you an idea whether the test has to be
automated or not. They are as follows
1. Can the test sequence of actions be defined?
2. Is it necessary to repeat the sequence of actions many times?
3. Is it possible to automate the sequence of actions?
4. Is the behavior of the software under test the same with automation as without?
5. Do you need to run the same tests on multiple hardware configurations?
The above questions will give an ideal picture of whether the test can be
automated or not. Their 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 .It
goes through the same life cycle as in the development of software product .The
important think that has to be taken care of is who is writing the scripts. There is always a
conflict on who writes the scripts whether a developer or a testing team member. Its is
always a good idea and normally followed by many organizations that the effort should
be a collaborated effort between tester and the developer.
The automation process goes through a lot of effort taking collaborated work because a
lot of emphasis is given for the time and financial constraint .The automation process
may be divided into many phases but as a whole in general perspective it goes through he
following phases in
FIG 1
on an already released version of the software. This is done to avoid problems which may
arise during the testing process.
4.4 TESTING USING AUTOMATED TESTING SCRIPTS:
This is the face where the actual testing is done. It 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. The scripts that have been made are developed in
such 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. These thinks have to be kept
in mind by the test manager when he plane for test automation.
5. TOOLS FOR AUTOMATED SOFTWARE TESTING:
For many test managers, the decision of which testing tools to use can
cause confusion. The first decision to make is which category of tool to useone that
tests 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.
Evaluating your needs will narrow down your short list very rapidly. There are many
options in market to choose. Depending on what sort of test it will be used for the choice
may become easy. The following general categories categorize the tests and tools which
makes it easy to choose
1. Developer oriented tools
2. Functional testing tools
3. Load testing tools
4. Performance monitoring and maintenance tools
5.1 DEVELOPER ORIENTED TOOLS:
Tools 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 . The important tools in this area are
22. Test case management - store test cases in a database for maintenance
purposes
23. Track tests that pass, as well as test that fail.
7. PROS:
The general benefits of automation are as follows.
1. Tests can be run faster. As compared to manual testing they take lesser time
2. Automated test are consistent.
3. Tests can be run over and over again with less overhead.
4. As more automated tests are added to the test suite more tests can be run each
time thereafter.
5. Manual testing never goes away,
6. The efforts that were used for manual testing can now be focused on more
rigorous tests.
8. CONS:
1. Costs of test automation include personnel to support test automation for the
long term.
2. A dedicated test environment is needed
3. The cost for the purchase of development and maintenance of tools.
4. If contractors are used to help build or champion the test automation effort
because of their experience, there is the risk that much of the experience and
skills will not be there when the contractor leaves.
5. If there is going to be a product change then long term automation is a waste
6. It is very expensive to maintain automated testing environment.
9. CONCLUSION:
Automation of software testing is not an easy process. It involves a lot
effort. Automation is also a expensive process in terms of direct finance and the people
required for. We can conclude that if automation is dine in very definitive manner and
with all aspects considered it can be asset to the company.
10. REFERENCES:
1. http://www.origsoft.com/Issues3-buscase-4save.htm
2. http://www.sqa-test.com/ATS_Tips.html
3. http://www.sqa-test.com/articles.html
4. http://www.origsoft.com/Issues2-comptest-1cov.htm
5. http://www.cssttechnologies.com/Test%20Requirements%20for%20automated
%20Testing.htm
6. http://www.io.com/~wazmo/succpap.htm
7. http://www.hssworld.com/whitepapers/whitepaper_pdf/test_automation.pdf
8. http://www.stsc.hill.af.mil/crosstalk/2002/05/rice.pdf
9. http://www.testing.com/writings/automate.pdf
10. http://www.automated-testing.com/PATfinal.htm
11. http://www.stickyminds.com/sitewide.asp?
ObjectId=3583&Function=DETAILBROWSE&ObjectType=ART
12. http://www.mactech.com/articles/mactech/Vol.13/13.10/SoftwareTestAutomation