Practical

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Practical :1

Aim : Understand the automation testing approach

Description : Automated Testing means using special software for tasks that people usually do
when checking and testing a software product.

Difference between Manual Testing vs Automated Testing

For more refer

Manual testing is not Since it is performed by


accurate at all times due to third-party tools and/or
human error, thus it is less scripts, therefore it is more
Reliability reliable. reliable.

Heavy investment in Investment in tools rather


Investment human resources. than human resources.

Automation testing is
Manual testing is time-
time-saving as due to the
consuming due to human
use of the tools the
intervention where test
execution is faster in
cases are generated
comparison to manual
manually.
Time efficiency testing.

There is no need to have It is important to have


programming knowledge to programming knowledge
Programming knowledge write the test cases. to write test cases.

There is a possibility that


the test cases executed the When there are changes in
first time will not be able to the code, regression testing
catch the regression bugs is done to catch the bugs
due to the frequently due to changes in the code.
Regression testing changing requirements.

Automation Testing Types :

1. Unit testing: Unit testing is a phase in software testing to test the smallest piece of code known as a unit
that can be logically isolated from the code. It is carried out during the development of the application.
2. Integration testing: Integration testing is a phase in software testing in which individual software
components are combined and tested as a group. It is carried out to check the compatibility of the
component with the specified functional requirements.

3. Smoke testing: Smoke testing is a type of software testing that determines whether the built software is
stable or not. It is the preliminary check of the software before its release in the market.

4. Performance testing: Performance testing is a type of software testing that is carried out to determine how
the system performs in terms of stability and responsiveness under a particular load.

5. Regression testing: Regression testing is a type of software testing that confirms that previously developed
software still works fine after the change and that the change has not adversely affected existing features.

6. Security testing: Security testing is a type of software testing that uncovers the risks, and vulnerabilities in
the security mechanism of the software application. It helps an organization to identify the loopholes in the
security mechanism and take corrective measures to rectify the security gaps.

7. Acceptance testing: Acceptance testing is the last phase of software testing that is performed after the
system testing. It helps to determine to what degree the application meets end users’ approval.

8. API testing: API testing is a type of software testing that validates the Application Programming
Interface(API) and checks the functionality, security, and reliability of the programming interface.

9. UI Testing: UI testing is a type of software testing that helps testers ensure that all the fields, buttons, and
other items on the screen function as desired.

Steps for test cases :


1. Select tools of automation :
Selenium
LambdaTest
Cucumber
This are the best testing tools for automation , then select one testing tool from this.
2. Define scope of automation testing :

Automation Tools :

Selenium: Selenium is an automated testing tool that is used for Regression testing and provides a playback
and recording facility. It can be used with frameworks like JUnit and Test-NG. It provides a single interface
and lets users write test cases in languages like Ruby, Java, Python, etc.
QTP: Quick Test Professional (QTP) is an automated functional testing tool to test both web and desktop
applications. It is based on the VB scripting language and it provides functional and regression test automation
for software applications.

Sikuli: It is a GUI-based test automation tool that is used for interacting with elements of web pages. It is used
to search and automate graphical user interfaces using screenshots.

Appium: Apium is an open-source test automation framework that allows QAs to conduct automated app
testing on different platforms like iOS, Android, and Windows SDK.

J-meter: Apache JMeter is an open-source Java application that is used to load test the functional behavior of
the application and measure the performance.

Advantages of Automation Testing:

 Simplifies Test Case Execution: Automation testing can be left virtually unattended and thus it allows
monitoring of the results at the end of the process. Thus, simplifying the overall test execution and
increasing the efficiency of the application.
 Improves Reliability of Tests: Automation testing ensures that there is equal focus on all the areas of the
testing, thus ensuring the best quality end product.
 Increases amount of test coverage: Using automation testing, more test cases can be created and
executed for the application under test. Thus, resulting in higher test coverage and the detection of more
bugs. This allows for the testing of more complex applications and more features can be tested.
 Minimizing Human Interaction: In automation testing, everything is automated from test case creation
to execution thus there are no changes for human error due to neglect. This reduces the necessity for
fixing glitches in the post-release phase.
 Saves Time and Money: The initial investment for automation testing is on the higher side but it is cost-
efficient and time-efficient in the long run. This is due to the reduction in the amount of time required
for test case creation and execution which contributes to the high quality of work.
 Earlier detection of defects: Automation testing documents the defects, thus making it easier for the
development team to fix the defect and give a faster output. The earlier the defect is identified, the more
easier and cost-efficient it is to fix the defects.

Disadvantages of Automation Testing :

High initial cost: Automation testing in the initial phases requires a lot of time and money investment. It
requires a lot of effort for selecting the tool and designing customized software.

100% test automation is not possible: Generally, the effort is to automate all the test cases but in practical real
situations not all test cases can be automated some test cases require human intervention for careful
observation. There is always a human factor, i.e., it can’t test everything like humans(design, usability, etc.).

Not possible to automate all testing types: It is not possible to automate tests that verify the user-friendliness of
the system. Similarly, if we talk about the graphics or sound files, even their testing cannot be automated as
automated tests typically use textual descriptions to verify the output.

Programming knowledge is required: Every automation testing tool uses any one of the programming
languages to write test scripts. Thus, it is mandatory to have programming knowledge for automation testing.
False positives and negatives: Automation tests may sometimes fail and reflect that there is some issue in the
system but there is no issue present and in some cases, it may generate false negatives if tests are designed to
verify that some functionality exists and not to verify that it works as expected.

You might also like