Thursday, 29 May 2014

Manual vs Automatic Testing

Let me explain what the Testing is?
Testing is a process rather than a single activity. The process contains all Life cycle activities, both static and dynamic techniques concerned with Planning, Preparation and Evaluation of Software product and other work related products.

Why this process?
  ü  To check the product whether it meets the Specified requirements and Customer needs
  ü  To check whether it fit for purpose
  ü  To detect or to find the defects in the application

What is Manual Testing?
Manual testing is the process through which software developers or testers runs the tests manually, comparing program with expectations and actual outcomes in order to find software defects.

What is Automation Testing?
Automated testing is the process through which automated tools run tests that repeat predefined actions, comparing a developing program’s expected and actual outcomes.

Manual Testing
Automation Testing
Manual testing is used when the test cases need to be executed once or twice
Automation testing is used when the test cases need to be executed repeatedly
It’s difficult to find the regression defect
It’s very useful to find the regressions in a timely manner
Less reliable
Runs more precisely each time
Time consuming
Faster than Human Resource
Less cost
Initial cost is high but can be used repeatedly
It’s preferable to execute the UI testing ie. User Interface Eg font size, font color, alignments etc.
Sometime we cannot automate the UI test cases in automation
No programming can be done to write sophisticated tests to fetch the hidden information
Testers can program sophisticated tests to bring out hidden information

When we know all the pros and cons of manual and automated testing we can choose which type of testing we want to use for a particular situation. As we should know, not every type of testing is universally better for general testing than the other type, and making a right decision can save you a lot of time and provide better results overall.

Both types of testing are needed for high quality software testing and both should be studied carefully because those principles represent the essence of Software QA.

You should have come across Regression Testing and what is that?

When we find a bug during the testing we will get it fixed and run the test again, while testing the fixed bug should not cause error to the uncovered area. This is Regression testing. Mostly the regression test is repeatable and which can be precisely done using the automation tool.

Example: IRCTC LOGIN, A correction in the login page should not affect the booking page.

Few Basic Terminologies we should be known in the Testing area
Risk- A factor that could cause future negative consequences that is known as impact or likelihood.

Defect- An issue that will cause the system not to perform its specified task.

Failure- Deviation for the expected delivery.

Quality- The process of meeting the specified requirements with customer satisfaction with Time and Cost. Characteristics: Reliable, robust, efficient, User friendly etc.

Verification: Are we doing the things right?

Validation: Are we doing the right product?

Debugging- A process to find the bug, analyze the bug and to find the cause of the bug and fixing it.

Review- The process of checking the status of a project or a product and also to recommend improvements. Types: Management Reviews, Formal, Informal, Technical, Inspection and Walk through.

1 comment:

  1. Great Start on covering the basics of testing. Thanks for writing.

    ReplyDelete