Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
116 views

Testing PPT

The document discusses different types of software testing including manual testing and automated testing. It describes unit tests, integration tests, functional tests, end-to-end tests, acceptance tests, performance tests, and smoke tests. It also compares manual testing to automated testing, noting that automated testing saves time and costs but requires stable systems, while manual testing can test any application but is repetitive.

Uploaded by

Aung Khaing Min
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views

Testing PPT

The document discusses different types of software testing including manual testing and automated testing. It describes unit tests, integration tests, functional tests, end-to-end tests, acceptance tests, performance tests, and smoke tests. It also compares manual testing to automated testing, noting that automated testing saves time and costs but requires stable systems, while manual testing can test any application but is repetitive.

Uploaded by

Aung Khaing Min
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Testing

Types of testing
• Tests can be manual or automated, and include the following types of
tests:
✓unit tests,
✓integration tests,
✓functional tests,
✓end-to-end tests,
✓acceptance tests,
✓performance tests, and
✓smoke tests.
Manual testing
• Manual testing is done in person, by clicking through the application
or interacting with the software and APIs with the appropriate
tooling.
• This is very expensive since it requires someone to setup an
environment and execute the tests themselves, and it can be prone to
human error as the tester might make typos or omit steps in the test
script.
Manual Testing
• Manual Testing is a type of software testing in which test cases are
executed manually by a tester without using any automated tools.
• The purpose of Manual Testing is to identify the bugs, issues, and
defects in the software application.
• Manual software testing is the most primitive technique of all testing
types and it helps to find critical bugs in the software application.
Automated tests
• Automated tests, on the other hand, are performed by a machine
that executes a test script that was written in advance.
• These tests can vary in complexity, from checking a single method in a
class to making sure that performing a sequence of complex actions
in the UI leads to the same results.
• It's much more robust and reliable than manual tests – but the quality
of your automated tests depends on how well your test scripts have
been written.
Manual Testing Vs Automated T
Manual Testing Automated Testing

Manual testing requires human intervention for test


Automation Testing is use of tools to execute test cases
execution.

Automation Testing saves time, cost and manpower.


Manual testing will require skilled labour, long time &
Once recorded, it’s easier to run an automated test
will imply high costs.
suite

Any type of application can be tested manually, certain


Automated testing is recommended only for stable
testing types like ad-hoc and monkey testing are more
systems and is mostly used for Regression Testing
suited for manual execution.

The boring part of executing same test cases time and


Manual testing can become repetitive and boring. again is handled by automation software in
Automation Testing.
Types of Testing
Unit Tests
• Unit tests are very low level and close to the source of an application.
• They consist in testing individual methods and functions of the
classes, components, or modules used by your software.
• Unit tests are generally quite cheap to automate and can run very
quickly by a continuous integration server.
Integration tests
• Integration tests verify that different modules or services used by
your application work well together.
• For example, it can be testing the interaction with the database or
making sure that microservices work together as expected.
• These types of tests are more expensive to run as they require
multiple parts of the application to be up and running.
Functional Tests
• Functional tests focus on the business requirements of an application.
• They only verify the output of an action and do not check the
intermediate states of the system when performing that action.
• There is sometimes a confusion between integration tests and
functional tests as they both require multiple components to interact
with each other.
• The difference is that an integration test may simply verify that you
can query the database while a functional test would expect to get a
specific value from the database as defined by the product
requirements.
Non-functional testing
• Non-functional testing is a software testing technique that checks the
non-functional attributes of the system.
• Non-functional testing is defined as a type of software testing to
check non-functional aspects of a software application.
• It is designed to test the readiness of a system as per nonfunctional
parameters which are never addressed by functional testing.
• Non-functional testing is as important as functional testing.
Parameters of Non-functional testing
End-to-end test
• End-to-end testing replicates a user behavior with the software in a
complete application environment. It verifies that various user flows
work as expected and can be as simple as loading a web page or
logging in or much more complex scenarios verifying email
notifications, online payments, etc...
• End-to-end tests are very useful, but they're expensive to perform
and can be hard to maintain when they're automated. It is
recommended to have a few key end-to-end tests and rely more on
lower level types of testing (unit and integration tests) to be able to
quickly identify breaking changes.
Acceptance Tests
• Acceptance tests are formal tests that verify if a system satisfies
business requirements.
• They require the entire application to be running while testing and
focus on replicating user behaviors.
• But they can also go further and measure the performance of the
system and reject changes if certain goals are not met.
Performance Tests
• Performance tests evaluate how a system performs under a particular
workload.
• These tests help to measure the reliability, speed, scalability, and
responsiveness of an application.
• For instance, a performance test can observe response times when
executing a high number of requests, or determine how a system
behaves with a significant amount of data.
• It can determine if an application meets performance
requirements, locate bottlenecks, measure stability during peak
traffic, and more.
Smoke Tests
• Smoke tests are basic tests that check the basic functionality of an
application.
• They are meant to be quick to execute, and their goal is to give you
the assurance that the major features of your system are working as
expected.
• Smoke tests can be useful right after a new build is made to decide
whether or not you can run more expensive tests, or right after a
deployment to make sure that they application is running properly in
the newly deployed environment.

You might also like