You are on page 1of 19

SQA

Software Quality Assurance


2020
SQA

Lecture:
Testing types

www.company.com
Agenda
SQA

 Unit Testing
 Integration Testing
 System Testing
 Regression Testing
 Load Performance Testing
 Stress Testing
 Compatibility Testing
 Path Testing
 Security Testing
 Smoke Testing
 Sanity Testing

www.company.com
Unit Testing
SQA

• A unit test is an automated piece of code or a manual test


procedure that invokes a unit of work in the system and then
checks a single assumption about the behavior of that unit of
work.

• A unit of work is a single logical functional use case in the


system that can be invoked by some public interface (in most
cases).

• A unit of work can span a single method, a whole class or


multiple classes working together to achieve one single logical
purpose that can be verified.

www.company.com
Integration testing
SQA

• Integration testing is a logical extension of unit testing. In its


simplest form, two units that have already been tested are
combined into a component and the interface between them is
tested.
• A component, in this sense, refers to an integrated aggregate
of more than one unit.
• In a realistic scenario, many units are combined into
components, which are in turn aggregated into even larger
parts of the program. The idea is to test combinations of
pieces and eventually expand the process to test your
modules with those of other groups. Eventually all the modules
making up a process are tested together. Beyond that, if the
program is composed of more than one process, they should
be tested in pairs rather than all at once.

www.company.com
Unit and integration testing
SQA

www.company.com
System testing
SQA

• In system testing the behavior of whole system/product is


tested as defined by the scope of the development project or
product.

• System testing is most often the final test to verify that the
system to be delivered meets the specification and its
purpose.

• System testing should investigate both functional and non-


functional requirements of the testing

www.company.com
System testing
SQA

www.company.com
Regression Test
SQA

• Any time you modify an implementation within a program, you


should also do regression testing. You can do so by rerunning
existing tests against the modified code to determine whether
the changes break anything that worked prior to the change
and by writing new tests where necessary.

• Adequate coverage without wasting time should be a primary


consideration when conducting regression tests.

• Try to spend as little time as possible doing regression testing


without reducing the probability that you will detect new
failures in old, already tested code.

www.company.com
Load / Performance Test
SQA

To determine how well your software program responds to


various levels of usage, you conduct load tests. A load test
models the expected usage of a software program by simulating
multiple users who access the program at the same time.

www.company.com
smoke testing
SQA

Smoke testing is non-exhaustive software testing, ascertaining


that the most crucial functions of a program work, but not
bothering with finer details.

www.company.com
Sanity Testing
SQA

• Sanity testing is performed after the build has clear the Smoke
test and has been accepted by QA team for further testing,
sanity testing checks the major functionality with finer details.

• Sanity Testing is the subset of Regression Testing and it is


performed when we do not have enough time for doing testing.

• Sanity testing is the surface level testing where QA engineer


verifies that all the menus, functions, commands available in
the product and project are working fine.

www.company.com
www.company.com
www.company.com
security Testing
SQA

• Nonfunctional testing Security testing is basically a type of


software testing that’s done to check whether the application
or the product is secured or not.

• It checks to see if the application is vulnerable to attacks, if


anyone hack the system or login to the application without any
authorization.

www.company.com
Path testing
SQA

• Path testing is an approach to testing where you ensure that


every path through a program has been executed at least
once.
• You normally use a dynamic analyzer tool or test coverage
analyser to check that all of the code in a program has been
executed. However, testing all paths does not mean that you
will find all bugs in a program. Many bugs arise because
programmers have forgotten to include some processing in
their code, so there are no paths to execute. Some bugs are
also related to the order in which code segments are
executed.
• For example, if segments a, b and c are executed <a, b, c>,
then the program may work properly. However, if they are
executed <a, c, b> then an error may arise. It is practically
impossible to test all orders of processing as well as all
program paths.
www.company.com
Stress Test
SQA

• The goal of stress testing is to run a system at abnormally


high load levels to identify issues such as memory leaks,
thread contention, failure modes, and bottlenecks.

• Stress testing is a form of negative testing. Negative testing


evaluates a system outside of normal boundaries to detect
whether the system fails in a predictable and acceptable way.
While stress testing can give some indications of scale
behavior, scale testing is used to determine scale
characteristics.

www.company.com
Back end Testing means DataBase
SQA
Testing

Normally a software product/application uses GUI front end


for easy user interaction.

The Data entered in the front end will be stored in the back end
database. The data base may be oracle, MSSQL
Server,MySQL,DB2...etc.

The data will be organized in the tables as record. Major aim of using
database is to support the content of the page. So it is critical and
very important to check back end or database. Back end Testing
means ensuring that, If you enter data in the front end ,the data
should be stored properly in the back end. If you call that stored
record front end it should display properly.

www.company.com
Compatibility Testing
SQA

Compatibility Testing is non-functional testing in which we ensure


that application/website/system is capable of running on various
objects like on various Browser, On various Resolution, on
various Operating System, with some other application, on
network.

The goal of browser compatibility testing is to ensure that the site


renders without error on the target web browsers. Some minor
rendering differences are expected from browser to browser, or
within different versions of the same browser.

www.company.com

You might also like