Monday, 15 November 2010

Overview on Test Automation Tools

Every software development team tests (unit Test) products and software, Development team have delivered with   some defects.  Testing Team (Test Engineers ) catch the errors (bugs) before deliver product is released. 
Testing Team does the testing in two ways
Manual Software Testing:
Manual Software Testing is done by a person sitting in front of a computer go through the application carefully each screen, trying various output and input combinations, compare the result to the expected result and recording their observations. Manual testing are repeated during development cycle, enhancement and other situation like multiple operating environment and hardware configurations.
 
Automated Software Testing Tools:
Automated Software Testing Tools is able to playback pre-recorded and predefined actions compare the results to the expected results and report the success and failure of the manual tests to a tester. Once automated tests are created they can easily be repeated and they can be extended to perform tasks impossible with manual testing.  Because of this, big companies have found that automated software testing is essential of successful big (long term) development projects.
Advantages of Automated software testing tools
Save time and money:
Software tests have to be repeated often during development cycles to ensure quality. Every time source code is modified software tests should be repeated. For each release of the software it may be tested on all supported operating systems and hardware configurations. Manually repeating these tests is costly and time consuming. Once created, automated tests can be run over and over again at no additional cost and they are much faster than manual tests. Automated software testing can reduce the time to run repetitive tests from days to hours. A time savings that translates directly into cost savings.
Improve Accuracy:
Even the most qualified tester will make mistakes during repetitive manual testing. Automated tests perform the same steps precisely every time they are executed and never forget to record detailed results.
Increases Test Coverage:
Automated software testing can increase the depth and scope of tests to help improve software quality. Lengthy tests that are often avoided during manual testing can be run unattended. They can even be run on multiple computers with different configurations. Automated software testing can look inside an application and see memory contents, data tables, file contents, and internal program states to determine if the product is behaving as expected. Automated software tests can easily execute thousands of different complex test cases during every test run providing coverage that is impossible with manual tests. Testers freed from repetitive manual tests have more time to create new automated software tests and deal with complex features.
Automated Testing Tools Do and What Manual Testers Cannot Do:
Even the largest software companies cannot perform a controlled web application test with thousands of users. Automated testing can simulate tens, hundreds or thousands of virtual users interacting with network or web software and applications.
Helps Developers and Testers:
Shared automated tests can be used by developers to catch problems quickly before sending to QA. Tests can run automatically whenever source code changes are checked in and notify the team or the developer if they fail. Features like these save developers time and increase their confidence.
Improve Team Morale:
This is hard to measure but as per experienced it first hand, automated software testing can improve team morale. Automating repetitive tasks with automated software testing gives software test team time to spend on more challenging and rewarding projects. Team members improve their skill sets and confidence and, in turn, pass those gains on to their organization.
When to be system automated?
·         Big(long term) and Critical projects.
·         System(Projects) that require testing the same functions frequently.
·         Requirement not changing frequently
·         Accessing the application for more load and performance with many users
·         Study software with respect to manual testing
·         Time availability
What system should be automated?
Unit Testing: Unit testing is in many projects a task which is performed occasionally by programmers during development of system.
(Regression Testing)
Anything that we need to do repeatedly,  if  we are repeating something a more than about 5 times and the elements in it are stable. 
 
Stress testing We are automating web applications at the moment and automating the regression tests for end to end functionality has saved a lot of time. is great to automate. It is often needed right at the end of a release cycle so saving a few hours has a big benefit.
Functional Testing:Functional testing is the testing of how system or application functions, or, in other words, its relation to the users and especially to the rest of the system.  Functional testing is implemented by a team of testers and Business analyst, independent of the developers. Another way of saying that functional testing is "the customer test"
What should not be automated?
Well usability testing is mostly done by clients so there is no need to automate that. It’s difficult to automate any tests with qualities or subjective results. The more binary the result the easier something is to automate.

The functionality testing of the early releases of new products is difficult to automate effectively because the applications change so quickly.

When moving across in to a new technology I like to tests manually as we learn about the technology and the application. This produces results quickly and makes it easier to automate later on if needed.
  
How to system Automated?
·         Identifying functional areas within a software for automation
·         Identifying of appropriate tool for Test Automation
·         Prepare Test Scripts
·         Prepare of Test Suits
·         Execution of scripts
·         Create result reports
·         Recognize any potential bugs or performance issues
Some of Software Testing Tools
·         HP Quick Test Professional
·         Selenium
·         IBM Rational Functional Tester
·         SilkTest
·         TestComplete
·         Testing Anywhere
·         WinRunner
·         LaodRunner
·         Visual Studio Test Professional
·         WATIR

         
ADVANTAGES
Automated Testing
Manual Testing
• If you have to run a set of tests repeatedly automation is a huge gain
• If Test Cases have to be run a small number of times it's more likely to perform manual testing
• Helps performing "compatibility testing" - testing the software on different configurations
• It allows the tester to perform more ad-hoc (random testing)
• It gives you the ability to run automation scenarios to perform regressions in a shorter time
• Short term costs are reduced
• It gives you the ability to run regressions on a code that is continuously changing
• The more time tester spends testing a module the grater the odds to find real user bugs
• Can be run simultaneously on different machines thus decreasing testing time

• Long term costs are reduced

DISADVANTAGES
Automated Testing
Manual Testing
• It's more expensive to automate. Initial investments are bigger than manual testing
• Manual tests can be very time consuming
• You cannot automate everything, some tests still have to be done manually
• For every release you must rerun the same set of tests which can be tiresome
OTHER FACTORS
• The performance of test tools
• The knowledge level of your testing team
• The continuous growth of software to be tested
• Number of necessary regressions

6 comments:

  1. Nice information about test automation tools my sincere thanks for sharing post Please continue to share this post
    Selenium Training in Chennai

    ReplyDelete
  2. nice blog has been shared by you. before i read this blog i didn't have any knowledge about this but now i got some knowledge so keep on sharing such kind of an interesting blogs.
    selenium training in chennai

    ReplyDelete
  3. Hi, thanks for sharing such an informative blog. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Awaiting for your next update.

    Selenium Training in Bangalore

    ReplyDelete
  4. I read your blog totally this is extremely nice.You gave some diagram of Testing.Now
    Software Testing Training in Bangalore
    AWS Training in Chennai

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete

TrainingHUB. Powered by Blogger.

Total Pageviews

THE BEST QTP TRAINING INSTITUTE IN HYDERABAD

QTP Training in hyderabad

Sql Tutorial

Popular Posts

Our Facebook Page

TrainingHUB

Followers