Thursday 7 July 2016

When You Should Choose Manual vs. Automated Testing?

Manual and Automation testing, these are two types of testing, we can use both methods, but depends on project requirement, budget and also which is benefited to the project.



Manual and Automation testing both has overlap between the capabilities but no one can replace the other.

Manual Testing:
These is a testing process in which we can do manually and find the defect without the usage of tools or automation script. 

Following are the types of testing types are performed manually during the testing life cycle (STLC) : 

Acceptance Testing: This type of testing done by User or a customer and verifies that the system meets the customer specified requirements or not. 

White Box Testing (Glass box Testing): This type of testing based on information of the internal logic of an application’s code. It works on Internal working code of the system. Testing are based on coverage of code statements, branches, paths, conditions.

Black Box Testing: These testing done from any non-technical tester No need to knowledge on any internal code/part of the system. It is a testing method to test functionalities and requirements of the system. 

Unit Testing: It is use to test specific component of software or module, specially this testing done by developer and not by testers, because it needs thorough knowledge of the internal programming design and code.

System Testing: It is a technique to test whole system as per requirements.

Integration Testing: This testing done after integrate the modules to verify the functionality is working fine. Modules are typically code modules, individual applications, client and server applications on a network, etc. This type of testing is especially applicable to client/server and distributed systems.

Manual Tester need to think and act an End user perspective and tester need to be very patient, creative and open minded.

Automation Testing:
Regression testing which are repetitive actions going to automated, automation makes use of specialized tools like selenium, QTP etc. To control the execution of tests and compares actual result against the expected result.

Testing Tools like selenium webdriver , QTP not only help us to perform regression tests but also helps us to automate data set up generation, product installation, GUI interaction, defect logging, etc.

Typically, there are 3 test automation frameworks that are adopted while automating the applications.

Data Driven Automation Framework: In data driven Framework , while Test case logic resides in Test Scripts, the Test Data is separated and kept outside the Test Scripts.Test Data is read from the external files like Excel Files, Text Files, CSV Files etc and are loaded into the variables inside the Test Script. Variables are used both for Input values and for Verification values.

Keyword Driven Automation Framework (Table-Driven): The Keyword-Driven framework requires the development of data tables and keywords, independent of the test automation tool used to execute them . Tests can be designed with or without the Application. In this framework test, the functionality of the application-under-test is documented in a table as well as in step-by-step instructions for each test that’s why it is also known as Table-Driven framework.

Hybrid Automation Framework: As the name suggests this framework is the combination of one or more frameworks like data-driven and keyword driven from their strengths and trying to mitigate their weaknesses. This hybrid test automation framework is what most frameworks evolve into over time and multiple projects. Typically maximum industry uses Keyword Framework in combination of Function decomposition method.

Popular Tools that are used for Functional automation:

1. QTP

2. Rational Robot

3. Coded UI

4. Selenium

Popular Tools that are used for Non-Functional automation:

1. Jmeter

2. Load Runner

3. Burp Suite

In Automation you will take a look at your code, change it and continue to run tests until the actual and expected result are not verify. In this method which uses automation tools to run the tests that repeat predefined actions, match with real result. If the project prospects and results align, your project is behaving as it should, and you are likely defect free. If the two don’t align, still, there is a problem that requires to be addressed.

Conclusion:
After knowing about of manual and automation testing, For excellence software testing, both testing methods are required and both should be studied sensibly because those values characterize the core of Software QA. Now its easy to choose that which type of testing is useful in a particular situation. Same kind of testing we can not use in all situations, so that make a right decision before start the any testing can save your lots of time and offer improve results inclusive.


About Author:
Roshni Deshmukh is a consultant in Systems Plus Pvt. Ltd. Within Systems Plus, she actively contributes to the areas of Technology and Information Security. She can be contacted at: roshni.deshmukh@spluspl.com

5 comments: