Manual Testing - PPT1 (Types)

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 35

Testing

Testing

 Testing is a process of evaluating a system to verify whether it satisfies the


specified requirement or identify the differences between expected and
actual result.

Forms of Testing

Manual Testing Automation Testing.


Eg -Selenium,QTP
Manual Testing & Automation Testing

 Manual Testing is a type of software testing in which test cases are


executed manually by a tester without using any automated tools.

 Software Test automation makes use of specialized tools to control the execution of
tests and compares the actual results against the expected result.

 The purpose of both Testing is to identify the defects in the software application.
Why Software Testing Necessary

 Software testing is required to find out the defects and errors that were made during
the development phase.

 Software Testing is important as it may cause mission failure, impact on operational


performance

 Impact on the reliability of the organization if software testing is not done properly.

 Testing is required to delivery a quality product to the customer.


Who participates in testing ?

 Software customer
 Software user
 Software developer
 Software Tester
Testing Objectives

 Prevent defects
 Verify the requirements are fulfilled
 Validate the system
 Build confidence
 Find defects and failures
 Provide information to stakeholders
 To comply with legal, regulatory requirements or standards
Testing Principles

 Testing shows the presence of defects not their absence


 Exhaustive testing is impossible
 Early testing
 Defect clustering
 Repeating tests does not find new defects
 Context dependent
 Absence of errors is a fallacy
Software testing –Myths and Facts

 Anyone can test a software application


 Expensive
 Time consuming
 A tested software is bug free
 Tester’s only task is to find bugs
Testing Types
Static Testing & Dynamic Testing

Black Box Testing


(Behavioural Testing)

Dynamic Testing
(Validation)
White Box Testing
(Glass box testing, clear
Testing box testing, Structural
Testing(Logic of the
program))
Static Testing(Verification)
Static testing
 Not executing the code,rather it manually checks the code, requirement
documents and design documents to find errors.
 This is also called non execution technique or verification testing.

Dynamic testing

 Executing the code either manually or automatically.


 The main aim is to confirm that,the software products works in conformance
with the requirements.
 This is also called execution technique or validation testing.
 White Box Testing - White Box Testing is a software testing method
in which the internal structure/ design is known to the tester. It is mainly
performed by the Developers or Whit
 White Box Testers who has knowledge on the programming. Also known as
Glass box Testing. Tests are based on coverage of code statements, branches,
paths, conditions.
Unit Testing

 Unit testing is a type of software testing where individual units or components of a


software are tested.

 The purpose is to validate that each unit of the software code performs as expected.

 Unit Testing is done during the development of an application by the developers.


Integration Testing

 In Integration Testing software modules are integrated logically and tested as a group.

 A typical software project consists of multiple software modules, coded by different


programmers. The purpose of this level of testing is to find defects in the interaction
between these modules when they are integrated
Black Box Testing

 Black Box Testing - Black Box Testing is a method of testing in which the
internal structure/ code/design is NOT known to the tester. The main aim of
this testing to verify the functionality of the system and is mainly performed
by the Testers, and there is no need of any programming knowledge.
 Functional testing is performed to verify that all the features developed are
according to specifications, and it is performed by executing the test cases ,
in functional testing phase, system is tested by providing input, verifying the
output and comparing the actual results with the expected results.
System Testing

 System Testing means testing the system as a whole.


 All the modules/components are integrated in order to verify if the system works as
expected or not.
 System Testing is done after Integration Testing.
 Done to check whether the software or product meets the specified requirement.
 System Testing plays an important role in delivering a high-quality product.
Acceptance Testing

 Acceptance testing is the type of testing which is used to check whether the software
meets the customer requirement or not.

 Application should be flawless in meeting both the critical and major Business
requirements.

 User/customer do this testing to determine whether to accept the application.


Alpha Testing & Beta Testing

 Alpha testing : Pre-release testing by end user representaives at the developers site.
Still minor changes will be made as a result of testing.

 Beta Testing is performed by "real users" of the software application in "real


environment“.Final testing before releasing application for commercial purpose.
eg:trial versions

 Direct feedback from customers is a major advantage of Beta Testing. This testing helps
to test products in customer's environment.
End to end testing

 Similar to system testing.

 Involves testing of a complete application environment in a situation that


mimics real world use

 Interacting with a database using network communications or interacting with


other hardware applications.
Smoke Testing

 Testing the basic and critical functionality of application.

 Testing to determine if a new software version is performing well enough to accept it


for major testing effort.

 If the application is crashing for initial use, then system is not stable enough for further
testing and the build or application is assigned to fix.

 Eg: login a page


Sanity Testing

 Testing the changed feature and its impacted areas to see that the flow of the
application doesn’t get misbehaved.

 It is a subset of regression testing.

 Performed after smoke testing.


Performance Testing

 Performance Testing is a type of testing performed to check how application or


software performs under workload.

 Performance Test goal is to identify and remove performance bottlenecks from an


application.

 Mainly performed to check whether the software meets the expected requirements for
application speed and stability.
Performance Testing

Load Testing

Performance Testing

Stress Testing
Load Testing & Stress Testing

 It’s a performance testing to check system behavior under load.

 Testing an application under heavy loads, such as testing of a website under a range of
load to determine at what point the system response time degrades or fails.

Stress testing
 System is stressed beyond its specifications to check how and when it fails. Performed
under heavy load like putting large number beyond storage capacity, complex database
query, continuous input to system or database load
Recovery Testing

 Recovery testing is performed in order to determine how quickly the


system can recover after it has gone through system crash or hardware
failure.

 Recovery testing is the forced failure of the software to verify if the


recovery is successful.
Compatibility Testing

 Compatibility Testing is a type of Software testing to check


whether your software is capable of running on different
hardware, operating systems, applications, network environments
or Mobile devices.
Comparison Testing

 Comparison of product strength and weakness with


previous versions or other similar product
Install/Uninstall Testing

 Tested for install/uninstall process on different operating


system under different hardware ,software environment.
Security Testing

 Can system be penetrated by any hacker.

 Testing how well the system protects against unauthorised


internal or external access.

 Checking if the system database is safe from external attack


Usability Testing

 Usability Testing method is used for measuring how easy and user-friendly a software
application is.

 Can new customer understand the application easily proper help documented
whenever user stuck at any point.

 Basically system navigation is checked in this testing.


Monkey Testing

 Monkey testing is performed randomly with no specifically predefined test


cases

 In monkey testing testers may not know what the system is all about and its
purpose

 The objective of monkey testing is to check for system crash


Gorilla Testing

 Gorilla Testing is a Software testing technique wherein a


module of the program is repeatedly tested to ensure that
it is working correctly and there is no bug in that module.
Ad hoc Testing

 Ad hoc testing is performed without planning and documentation.

 In Ad hoc testing testers must understand the system significantly before


performing testing

 Objective of ad hoc testing is to divide the system randomly into sub part and
check its functionality
Change -related testing

 Confirmation testing - After a defect is fixed ,the software may be tested


with all test cases that failed due to the defect.

 Regression testing - It is possible that a change made in one part of the code,
whether a fix or another type of change, may accidentally affect the behavior
of other parts of the code. Regression testing is done to find these unintended
side effects
Non Functional Testing
 Non-Functional testing is a testing technique which does not focus on
functional aspects and mainly concentrates on the nonfunctional attributes
of the system such as usability, performance of the system ,security.

 Performance Testing

 Recovery Testing

 Compatibility Testing

 Security testing

 Usability testing

You might also like