Pages

Tuesday, July 26, 2011

Manual Testing and Automation Testing

Manual software testing is performed by a human sitting in front of a computer carefully going through application screens, trying various usage and input combinations, comparing the results to the expected behavior and recording their observations. Manual tests are repeated often during development cycles for source code changes and other situations like multiple operating environments and hardware configurations.

An automated software testing tool is able to playback pre-recorded and predefined actions, compare the results to the expected behavior and report the success or failure of these manual tests to a test engineer. Once automated tests are created they can easily be repeated and they can be extended to perform tasks impossible with manual testing.
 
Practical features of automated software testing systems:
  • Run all day and night in unattended mode
  • System continues running even if a test case fails
  • Keep the automated system up and running at all costs
  • Recognize the difference between hard and soft errors
  • Write out meaningful logs
  • One point maintenance
  • Easy to update reusable modules
  • Text strings stored in variables easy to find and update
  • Written in an English-like language easy to understand
  • Automated most important business functions first.
  • Quickly add scripts and modules to the system for new features
  • Don’t waste time with very complex features, keep it simple
  • Collect other useful information such as operating system and CASE tool message
  • Track components of the automated testing system in a database
  • Track reusable modules to prevent redundancy
  • Carefully test the testing system !
  • Keep track of tests coverage provide by automated test suites
  • Track which test cases are automated and which are manual
  • Use same architecture for Web or GUI based application testing
  • Make sure baseline data is defined and process in place to refresh data
  • Keep test environment clean and up-to-date
  • Test case management - store test cases in a database for maintenance purposes
  • Track tests that pass, as well as test that fail.

No comments:

Post a Comment