Friday, March 30, 2012

The Purpose of Testing  is to expose the hidden bugs.

Friday, March 23, 2012

Disadvantage of Automation Testing


Advantage of Automation Testing.

"Automated Testing" is automating the manual testing process currently in use. This requires that a formalized "manual testing process", currently exists in the company or organization.

Automation is the use of strategies, tools and artifacts that augment or reduce the need of manual or human involvement or interaction in unskilled, repetitive or redundant tasks.

Minimally, such a process includes:

    Detailed test cases, including predictable "expected results", which have been developed from Business Functional Specifications and Design documentation
    A standalone Test Environment, including a Test Database that is restorable to a known constant, such that the test cases are able to be repeated each time there are modifications made to the application.

The following types of testing can be automated

    Functional - testing that operations perform as expected.
    Regression - testing that the behavior of the system has not changed.
    Exception or Negative - forcing error conditions in the system.
    Stress - determining the absolute capacities of the application and operational infrastructure.
    Performance - providing assurance that the performance of the system will be adequate for both batch runs and online transactions in relation to business projections and requirements.
    Load - determining the points at which the capacity and performance of the system become degraded to the situation that hardware or software upgrades would be required.

Benefits of Automated Testing

Reliable: Tests perform precisely the same operations each time they are run, thereby eliminating human error

Repeatable: You can test how the software reacts under repeated execution of the same operations.
Programmable: You can program sophisticated tests that bring out hidden information from the application.

Comprehensive: You can build a suite of tests that covers every feature in your application.

Reusable: You can reuse tests on different versions of an application, even if the user interface changes.

Better Quality Software: Because you can run more tests in less time with fewer resources

Fast: Automated Tools run tests significantly faster than human users.

Cost Reduction: As the number of resources for regression test are reduced.

Choosing the right tools for the job and targeting the right areas of the organization to deploy them can only realize these benefits. The right areas where the automation fit must be chosen.
The following areas must be automated first

1. Highly redundant tasks or scenarios
2. Repetitive tasks that are boring or tend to cause human error
3. Well-developed and well-understood use cases or scenarios first
4. Relatively stable areas of the application over volatile ones must be automated. 

Purpose of testing

The Purpose of Testing  is to expose the hidden bugs.