Tuesday, August 18, 2009

CAN AUTOMATION REPLACE MANUAL TESTING?

This is certainly a question that most interviewers ask today. Can Manual testing replace Automation? Please do not confuse with these.


Manual testing has its own importance in testing. Today 70% of the project is tested manually. Especially the look and feel factor, user-friendliness can be tested manually only. Manual testing fails when it comes to performance testing. If you want to check the load time of a page manually, we need to keep a stop watch inorder to test. This is actually not practical. So the role of Automation comes in this case.


Automation testing is important in testing websites. Especially when it comes to performance. For a web-based application, performance testing is most important. We need to check the load time, response time, Througput, Maximum number of users who can access the application at a given time etc. Performance testing can be done with the help of a tool. So Automation has its own advantages compared to Manual however it can never be an replacement for manual testing. Moreover automation tools are quite expensive. This is one of the reasons why many small companies do not focus much on automation. Regression testing is done mostly with automated tool.


I hope this information was helpful to all.

MYTHS IN SOFTWARE TESTING

People generally have common myths about testing. The 2 myths regarding testing are


1) Testing improves Quality:
This is actually a great misunderstanding among the people. We can never improve quality. We can only evaluate quality. We are evaluating the quality of the software. When we test a software, we check whether the software is build based on the rquirements, whether all the functionalities are working properly or not. Is the software user-friendly? So Testing never improves quality.


2) Test cases find Bugs:


Certain testers believe that the test cases find more bugs. This is absolutely wrong. It is the testers who find bugs. As a tester, if you believe that test cases are going to find bugs, you would be trapped in the future. You would execute the same set of test cases for every application. Each day you need to find one. You need to develop test cases that would break the application. It's your testing experience that find bugs. Testing never ends only that we stop it based on deadline. The most powerful testing tool is our brain. No tool can compete it.

TEST CASES-WHAT IS IT?

Test cases-these are the back bones of testing. A tester can write n number of test cases. Test cases should be effective. Test cases should be written based on the requirements provided.


STUDENT: What is a Test Case?


TEACHER: A Test Case is a document containing test case ID, steps, execution pre-conditions, expected output, execution post-conditions, actual output, status, comments.































The above diagram shows the format of a test case.


STUDENT: Can you explain me with an example?


TEACHER: Okay, let's write the test case for a login page.


1) Login using valid user name and valid password.


2) Login using invalid username and valid password.


3) Login using valid username and invalid password.


4) Login using blank username and blank password.


5) Login using invalid user name and invalid password.


6) Enter only password and try logging in.


7) Enter only username and try logging in.


8) Verify whether there should be any minimum characters for username or password.


9) Verify whether forgot your password link is present in the login page.


10) Try SQL injection.


These are the steps. So there are 10 steps. The expected output can be determined by reading the steps. We need to get the actual output.


For step 1: Login using valid username and password. The expected output will be login successful. Enter the username and password. Suppose the login is working. So the actual output will be Login successful. The status will be PASS.