SlideShare a Scribd company logo
1 of 44
Download to read offline
Boutique product development company
It is amazing what you can accomplish when you have a client-centric team to deliver outstanding products.

Name / Job Role
Software Testing Concepts and Definition
Presented by Naseer Ahmad / Prepared by Sikandar Ahmed
Primary purpose of testing is to detect software
failures, so that defects may be discovered and
corrected.

Items to be covered

ā€¢ Concepts (Part 1)
ā€¢ SQA vs Testing
ā€¢ Test Senario vs Test Cases
ā€¢ Testing Cycle
ā€¢ Testing Definitions (Part 2)
ā€¢ Testing Methods
ā€¢ Testing Levels
ā€¢ Testing Types
Software Quality
ā€¢ Quality software is reasonably bug or defect free, delivered on time
and within budget, meets requirements and/or expectations, and is
maintainable.
ā€¢ ISO 8402-1986 standard defines quality as ā€œthe totality of features and
characteristics of a product or service that bears its ability to satisfy
stated or implied needs.ā€
ā€¢ Key aspects of quality for the customer include:
ā€¢

Good design ā€“ looks and style

ā€¢

Good functionality ā€“ it does the job well

ā€¢

Reliable ā€“ acceptable level of breakdowns or failure

ā€¢

Consistency

ā€¢

Durable ā€“ lasts as long as it should

ā€¢

Good after sales service

ā€¢

Value for money
4
Software Testing
ā€¢ Software testing is a process of executing a program or application with
the intent of finding the software bugs.
ā€¢ It can also be stated as the process of validating and verifying that a
software program or application or product:
ā€¢ Meets the business and technical requirements
ā€¢ Works as expected

ā€¢ Can be implemented with the same characteristic.

5
Software Verification
ā€¢ It makes sure that the product is designed to deliver all functionality to
the customer.
ā€¢ Verification is done at the starting of the development process. It
includes reviews and meetings, walkthroughs, inspection, etc. to
evaluate documents, plans, code, requirements and specifications.
ā€¢ It answers the questions like: Am I building the product right? Am I
accessing the data right (in the right place; in the right way).
ā€¢

According to the Capability Maturity Model(CMMI-SW v1.1) we can also define verification as the process
of evaluating software to determine whether the products of a given development phase satisfy the
conditions imposed at the start of that phase. [IEEE-STD-610].

6
Software Validation
ā€¢ Determining if the system complies with the requirements and performs
functions for which it is intended and meets the organizationā€™s goals and
user needs.
ā€¢ Validation is done at the end of the development process and takes place
after verifications are completed.
ā€¢ It answers the question like: Am I building the right product? Am I
accessing the right data (in terms of the data required to satisfy the
requirement).

ā€¢ Performed after a work product is produced against established criteria
ensuring that the product integrates correctly into the environment.
ā€¢ Determination of correctness of the final software product by a
development project with respect to the user needs and requirements.
ā€¢

According to the Capability Maturity Model(CMMI-SW v1.1) we can also define validation as The process of
evaluating software during or at the end of the development process to determine whether it satisfies specified
requirements. [IEEE-STD-610].
7
Basic Testing Cycle
ā€¢ Requirements Analysis
ā€¢ Test Planning
ā€¢ Test Development

ā€¢ Test Execution
ā€¢ Test Reporting
ā€¢ Test Result Analysis
ā€¢ Defect Retesting
ā€¢ Regression Testing
ā€¢ Test Closure
8
Testing Methods
There are several approaches / techniques of Software
Testing

9
Testing Methods
ā€¢
ā€¢
ā€¢
ā€¢
ā€¢

Static
Dynamic
Black Box
White Box
Visual (GUI)

10
Testing Methods (Cont.)
Static Testing:
ā€¢ Static testing is the testing of the software work products
manually, or with a set of tools, but they are not executed.
ā€¢ It starts early in the Life cycle and so it is done during the
verification process.
ā€¢ It does not need computer as the testing of program is done
without executing the program. For example: reviewing, walk
through, inspection, etc.

11
Testing Methods (Cont.)
Dynamic Testing:
ā€¢ Dynamic testing is the testing of the dynamic behaviour of
code.
ā€¢ It involves working with the software, giving input values and
checking if the output is as expected by executing
specific test cases which can be done manually or with the
use of an automated process.
ā€¢ It is done during Validation process.
ā€¢ The software is tested by executing it on computer. Ex: Unit
testing, integration testing, system testing.

12
Testing Methods (Cont.)
Black Box Testing:
ā€¢ Black-box testing treats the software as a "black box",
examining functionality without any knowledge of internal
implementation.
ā€¢ The tester is only aware of what the software is supposed to
do, not how it does it.
ā€¢ It also known as Specification-based testing technique or
input/output driven testing techniques because they view the
software as a black-box with inputs and outputs.
13
Testing Methods (Cont.)
White Box Testing:
ā€¢ White-box testing tests internal structures or workings of a
program
ā€¢ It is also know as Structure-based or ā€˜glass-boxā€™ testing
technique because here the testers require knowledge of
how the software is implemented, how it works.
ā€¢ In white-box testing the tester is concentrating on how the
software does it.

14
Testing Methods (Cont.)
Visual (GUI) Testing:
ā€¢ GUI testing is the process of testing a product's graphical
user interface to ensure it meets its written specifications like
testing images and buttons alignment on any webpage.

15
Testing Levels
Each phase of SDLC goes through the testing. Hence there
are various levels of testing.

16
Testing Levels
ā€¢ Unit Testing
ā€¢ Component Testing
ā€¢ Integration Testing
ā€¢ System Testing
ā€¢ Acceptance Testing
ā€¢ Alpha Testing
ā€¢ Beta Testing

17
Testing Levels (Cont.)
Unit Testing:
ā€¢ Unit testing is a method by which individual units of source
code together with associated control data are tested to
determine if they are fit for use.
ā€¢ A unit is the smallest testable part of an application like
functions/procedures, classes, interfaces.
ā€¢ Unit tests are typically written and run by software developers
to ensure that code meets its design and behaves as
intended.
18
Testing Levels (Cont.)
Component Testing:
ā€¢ Component testing is also known as module and program
testing.
ā€¢ Component testing is the phase in which individual software
modules are tested to find defects in the module and verifies
the functioning of software Module.
ā€¢ Component testing may be done in isolation from rest of the
system depending on the development life cycle model
chosen for that particular application.
19
Testing Levels (Cont.)
Integration Testing:
ā€¢ Integration testing is the phase in which individual software
modules are combined and tested as a group to make verify
integrated system is ready for system testing.
ā€¢ It occurs after unit testing and before validation testing.
ā€¢ Integration testing is done by a specific integration tester or
test team.

20
Testing Levels (Cont.)
System Testing:
ā€¢ System testing is conducted on a complete, integrated
system to evaluate the system's compliance with its specified
requirements.
ā€¢ System testing falls within the scope of black box testing, and
as such, should require no knowledge of the inner design of
the code or logic.
ā€¢ 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 nonfunctional requirements of the testing.
21
Testing Levels (Cont.)
Acceptance Testing:
ā€¢ After the system test has corrected all or most defects, the
system will be delivered to the user or customer for
acceptance testing.
ā€¢ Acceptance testing is a test conducted to determine if the
requirements of a specification or contract are met prior to its
delivery.
ā€¢ Acceptance testing is basically done by the user or customer
although other stakeholders may be involved as well.
22
Testing Levels (Cont.)
Alpha Testing:

ā€¢ Alpha testing is simulated or actual operational testing by
potential users/customers or an independent test team at the
developers' site.

ā€¢ Alpha testing is often employed for off-the-shelf software as a
form of internal acceptance testing, before the software goes to
beta testing.

ā€¢ This test takes place at the developerā€™s site.
23
Testing Levels (Cont.)
Beta Testing:

ā€¢ It is also known as field testing. It takes place at customerā€™s site.

ā€¢ It sends the system to users who install it and use it under realworld working conditions.
ā€¢ A beta test is the second phase of software testing in which a
sampling of the intended audience tries the product out.
ā€¢ Versions of the software, known as beta versions, are released
to a limited audience outside of the programming team.

24
Testing Types
A test type is focused on a particular test objective

25
Testing Types (Cont.)
Functional Testing:
Functional testing refers to activities that verify a specific action or
function of the code.

Functional tests tend to answer the question of "can the user do this"
or "does this particular feature work."

Non Functional Testing:
Non-functional testing refers to aspects of the software that may not
be related to a specific function or user action, such as scalability or
other performance, behavior under certain constraints, or security.
26
Testing Types (Cont.)
Functional Testing

Non Functional

ā€¢ Installation

ā€¢ Compatibility

ā€¢ Development

ā€¢ Performance

ā€¢ Usability

ā€¢ Security

ā€¢ Sanity

ā€¢ Accessibility

ā€¢ Smoke

ā€¢ Internationalization /
Localization

ā€¢ Regression
ā€¢ Destructive

ā€¢ Recovery
ā€¢ Automated
ā€¢ User Acceptance

27
Testing Types (Cont.)
Installation Testing:
ā€¢ Installation testing focuses on what customers will need to do to
install and set up the new software successfully.

ā€¢ The testing process may involve full, partial or upgrades
install/uninstall processes.
ā€¢ This testing is typically done by the software test engineer in
conjunction with the configuration manager.

28
Testing Types (Cont.)
Development Testing:
ā€¢ Development Testing is a software development process that
involves synchronized application of a broad spectrum of defect
prevention and detection strategies in order to reduce software
development risks, time, and costs.
ā€¢ It is performed by the software developer or engineer during the
construction phase of the software development lifecycle.
ā€¢ Development Testing might include static code analysis, data flow
analysis metrics analysis, peer code reviews, unit testing, code
coverage analysis, traceability, and other software verification
practices.
29
Testing Types (Cont.)
Usability Testing:
ā€¢ Usability testing is a technique used in user-centered interaction
design to evaluate a product by testing it on users.

ā€¢ This can be seen as an irreplaceable usability practice, since it
gives direct input on how real users use the system.
ā€¢ Usability testing generally involves measuring how well test
subjects respond in four areas: efficiency, accuracy, recall, and
emotional response.

30
Testing Types (Cont.)
Sanity Testing:
ā€¢ The sanity test which offers quick, broad, and shallow testing
determines whether it is possible and reasonable to proceed with
further testing.
ā€¢ If the sanity test fails, it is not reasonable to attempt more rigorous
testing.

ā€¢ Sanity tests are ways to avoid wasting time and effort by quickly
determining whether an application is too flawed to merit any
rigorous testing.

31
Testing Types (Cont.)
Smoke Testing:
ā€¢ Smoke testing is preliminary testing to reveal simple failures severe
enough to reject a prospective software release e.g. smoke test may
ask basic questions like "Does the program run?", "Does it open a
window?ā€
ā€¢ The purpose is to determine whether the application is so badly broken
that further testing is unnecessary.
ā€¢ Smoke testing performed on a particular build is also known as a build
verification test.
ā€¢ Smoke testing is done by developers and testers both.
ā€¢ A smoke test is used as an acceptance test prior to introducing a new
build to the main testing process.
32
Testing Types (Cont.)
Regression Testing:
ā€¢ Regression testing is a type of software testing that seeks to
uncover new software bugs, or regressions, in existing areas of a
system after changes (such as enhancements, patches or
configuration changes) have been made to them.
ā€¢ Common methods of regression testing include rerunning
previously completed tests and checking whether program behavior
has changed and whether previously fixed faults have re-emerged.

33
Testing Types (Cont.)
Destructive Testing:
ā€¢ Destructive software testing which attempts to cause a piece of
software to fail in an uncontrolled manner, in order to test its
robustness.
ā€¢ It verifies that the software functions properly even when it receives
invalid or unexpected inputs, thereby establishing the robustness of
input validation and error-management routines.

34
Testing Types (Cont.)
Recovery Testing:
ā€¢ Recovery testing is the activity of testing how well an application is
able to recover from crashes, hardware failures and other similar
problems.
ā€¢ E.g. While an application is receiving data from a network, unplug
the connecting cable. After some time, plug the cable back in and
analyze the application's ability to continue receiving data from the
point at which the network connection disappeared.

35
Testing Types (Cont.)
Automated Testing:
ā€¢ Test automation is the use of special software (separate from the
software being tested) to control the execution of tests and the
comparison of actual outcomes to predicted outcomes.
ā€¢ Test automation can automate some repetitive but necessary tasks
in a formalized testing process already in place, or add additional
testing that would be difficult to perform manually.

36
Testing Types (Cont.)
User Acceptance Testing:
ā€¢ User acceptance testing (UAT) consists of a process of verifying
that a solution works for the user.

ā€¢ It is not system testing, but rather is there to ensure that the
solution will work for the user i.e. test the user accepts the
solution.

37
Testing Types (Cont.)
Compatibility Testing:
ā€¢ Compatibility testing, part of software non-functional tests, is testing
conducted on the application to evaluate the application's
compatibility with the computing environment.
ā€¢ Computing environment may contain different OS types (IOS 6, IOS
7), different types of browsers (Chrome, Firefox, IE).

38
Testing Types (Cont.)
Performance Testing:
ā€¢ Performance testing is generally executed to determine how a system
or sub-system performs in terms of responsiveness and stability under
a particular workload.
ā€¢ It can also serve to investigate measure, validate or verify other quality
attributes of the system, such as scalability, reliability and resource
usage.
ā€¢ Load Testing is a testing that the system can continue to operate under a specific
load, whether that be large quantities of data or a large number of users. This is
generally referred to as software scalability.
ā€¢ Volume testing is a way to test software functions even when certain components
(for example a file or database) increase radically in size.
ā€¢ Stress testing is a testing beyond normal operational capacity, often to a breaking
point, in order to observe the results. It is a form of software testing that is used to
determine the stability of a given system.
39
Testing Types (Cont.)
Security Testing:
ā€¢ Security testing is a process to determine that an information
system protects data and maintains functionality as intended.

ā€¢ The six basic security concepts that need to be covered by security
testing are:
ā€¢ Confidentiality

ā€¢ Integrity
ā€¢ Authentication
ā€¢ Availability

ā€¢ Authorization
ā€¢ non-repudiation.
40
Testing Types (Cont.)
Accessibility Testing:
ā€¢ Accessibility is the degree to which a product, device, service, or
environment is available to as many people as possible.

ā€¢ This testing may include compliance with standards such as World
Wide Web Consortium (W3C).
ā€¢ Accessibility is not to be confused with usability

41
Testing Types (Cont.)
Internationalization and localization Testing:
ā€¢ Internationalization and localization are means of
adapting computer applications to different languages, regional
differences and technical requirements of a target market.
ā€¢ Internationalization is the process of designing a software
application so that it can be adapted to various languages and
regions without engineering changes.
ā€¢ Localization is the process of adapting internationalized software
for a specific region or language by adding locale-specific
components and translating text.

42
References
Institute of Software Testing Qualifications Board
http://istqbexamcertification.com/
ISO/IEEE Standards
http://standards.ieee.org/findstds/standard/29119-1-2013.html
http://www.softwaretestingstandard.org/

QAI Global Institute
http://www.qaiusa.com/
Wikipedia:
http://en.wikipedia.org/wiki/Software_testing
43
Thank You

44

More Related Content

What's hot (20)

Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Ā 
Black box & white-box testing technique
Black box & white-box testing techniqueBlack box & white-box testing technique
Black box & white-box testing technique
Ā 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Ā 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
Ā 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
Ā 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
Ā 
Testing
TestingTesting
Testing
Ā 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Ā 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Ā 
Software testing
Software testingSoftware testing
Software testing
Ā 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Ā 
Types of testing
Types of testingTypes of testing
Types of testing
Ā 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
Ā 
Testing concepts ppt
Testing concepts pptTesting concepts ppt
Testing concepts ppt
Ā 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Ā 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Ā 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Ā 
Test Levels & Techniques
Test Levels & TechniquesTest Levels & Techniques
Test Levels & Techniques
Ā 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
Ā 
Software testing life cycle
Software testing life cycleSoftware testing life cycle
Software testing life cycle
Ā 

Viewers also liked

Testing techniques
Testing techniquesTesting techniques
Testing techniquesRaginiRohatgi
Ā 
One Website, All the Languages
One Website, All the LanguagesOne Website, All the Languages
One Website, All the LanguagesThorsten Frommen
Ā 
Non destructive testing ppt
Non destructive testing pptNon destructive testing ppt
Non destructive testing pptAnisha Devarashetty
Ā 
Stages of test development and common test techniques (1)
Stages of test development and common test techniques (1)Stages of test development and common test techniques (1)
Stages of test development and common test techniques (1)Maury Martinez
Ā 
7 stages of unit testing
7 stages of unit testing7 stages of unit testing
7 stages of unit testingJorge Ortiz
Ā 
Stages of test development
Stages of test developmentStages of test development
Stages of test developmentMaury Martinez
Ā 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test designIan McDonald
Ā 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniquesFincy V.J
Ā 
Test Process
Test ProcessTest Process
Test Processtokarthik
Ā 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTvicci4041
Ā 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisniharika5412
Ā 
Boundary value analysis
Boundary value analysisBoundary value analysis
Boundary value analysisVadym Muliavka
Ā 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15koolkampus
Ā 
Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design op205
Ā 
User Interface Design
User Interface DesignUser Interface Design
User Interface DesignJReifman
Ā 
User interface design: definitions, processes and principles
User interface design: definitions, processes and principlesUser interface design: definitions, processes and principles
User interface design: definitions, processes and principlesDavid Little
Ā 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software TestingNishant Worah
Ā 
Architectural Design
Architectural DesignArchitectural Design
Architectural DesignJoe Christensen
Ā 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
Ā 

Viewers also liked (20)

Testing techniques
Testing techniquesTesting techniques
Testing techniques
Ā 
One Website, All the Languages
One Website, All the LanguagesOne Website, All the Languages
One Website, All the Languages
Ā 
Non destructive testing ppt
Non destructive testing pptNon destructive testing ppt
Non destructive testing ppt
Ā 
Unit1
Unit1Unit1
Unit1
Ā 
Stages of test development and common test techniques (1)
Stages of test development and common test techniques (1)Stages of test development and common test techniques (1)
Stages of test development and common test techniques (1)
Ā 
7 stages of unit testing
7 stages of unit testing7 stages of unit testing
7 stages of unit testing
Ā 
Stages of test development
Stages of test developmentStages of test development
Stages of test development
Ā 
Boundary and equivalnce systematic test design
Boundary and equivalnce   systematic test designBoundary and equivalnce   systematic test design
Boundary and equivalnce systematic test design
Ā 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
Ā 
Test Process
Test ProcessTest Process
Test Process
Ā 
USER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPTUSER INTERFACE DESIGN PPT
USER INTERFACE DESIGN PPT
Ā 
Equivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysisEquivalence partinioning and boundary value analysis
Equivalence partinioning and boundary value analysis
Ā 
Boundary value analysis
Boundary value analysisBoundary value analysis
Boundary value analysis
Ā 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
Ā 
Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design Lecture 7 Software Engineering and Design User Interface Design
Lecture 7 Software Engineering and Design User Interface Design
Ā 
User Interface Design
User Interface DesignUser Interface Design
User Interface Design
Ā 
User interface design: definitions, processes and principles
User interface design: definitions, processes and principlesUser interface design: definitions, processes and principles
User interface design: definitions, processes and principles
Ā 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
Ā 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
Ā 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
Ā 

Similar to Software testing methods, levels and types

Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
Ā 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
Ā 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTestingGavin Thys
Ā 
Different Types Of Testing
Different Types Of TestingDifferent Types Of Testing
Different Types Of TestingSiddharth Belbase
Ā 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testingHaris Jamil
Ā 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146vidhyyav
Ā 
Software testing
Software testingSoftware testing
Software testingOmar Al-Bokari
Ā 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role) Shwetha-BA
Ā 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingShwetha-BA
Ā 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingLakshmi-BA
Ā 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingSwatiS-BA
Ā 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingVeneet-BA
Ā 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesPunjab University
Ā 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxPriyaFulpagare1
Ā 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
Ā 
software testing
 software testing software testing
software testingSara shall
Ā 
Manual Testing software testing all slide
Manual Testing software testing all slideManual Testing software testing all slide
Manual Testing software testing all slideSmileySmiley39
Ā 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...ShudipPal
Ā 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementRasan Samarasinghe
Ā 

Similar to Software testing methods, levels and types (20)

Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
Ā 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Ā 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
Ā 
Different Types Of Testing
Different Types Of TestingDifferent Types Of Testing
Different Types Of Testing
Ā 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Ā 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
Ā 
Software testing
Software testingSoftware testing
Software testing
Ā 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role)
Ā 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
Ā 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
Ā 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
Ā 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
Ā 
software testing
software testing software testing
software testing
Ā 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
Ā 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
Ā 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
Ā 
software testing
 software testing software testing
software testing
Ā 
Manual Testing software testing all slide
Manual Testing software testing all slideManual Testing software testing all slide
Manual Testing software testing all slide
Ā 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Ā 
DISE - Software Testing and Quality Management
DISE - Software Testing and Quality ManagementDISE - Software Testing and Quality Management
DISE - Software Testing and Quality Management
Ā 

More from Confiz

Agile training workshop
Agile training workshopAgile training workshop
Agile training workshopConfiz
Ā 
Web services with laravel
Web services with laravelWeb services with laravel
Web services with laravelConfiz
Ā 
DMAIC-Six sigma process Improvement Approach
DMAIC-Six sigma process Improvement ApproachDMAIC-Six sigma process Improvement Approach
DMAIC-Six sigma process Improvement ApproachConfiz
Ā 
What is UFT? HP's unified functional testing.
What is UFT? HP's unified functional testing.What is UFT? HP's unified functional testing.
What is UFT? HP's unified functional testing.Confiz
Ā 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test casesConfiz
Ā 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo designConfiz
Ā 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code firstConfiz
Ā 
Security testing presentation
Security testing presentationSecurity testing presentation
Security testing presentationConfiz
Ā 
Ts seo t ech session
Ts   seo t ech sessionTs   seo t ech session
Ts seo t ech sessionConfiz
Ā 
Learning as a creative professional
Learning as a creative professionalLearning as a creative professional
Learning as a creative professionalConfiz
Ā 
Learning as a creative professional
Learning as a creative professionalLearning as a creative professional
Learning as a creative professionalConfiz
Ā 
Ts archiving
Ts   archivingTs   archiving
Ts archivingConfiz
Ā 
Advance text rendering in i os
Advance text rendering in i osAdvance text rendering in i os
Advance text rendering in i osConfiz
Ā 
Ts threading
Ts   threadingTs   threading
Ts threadingConfiz
Ā 
Ts android supporting multiple screen
Ts   android supporting multiple screenTs   android supporting multiple screen
Ts android supporting multiple screenConfiz
Ā 
Ts drupal6 module development v0.2
Ts   drupal6 module development v0.2Ts   drupal6 module development v0.2
Ts drupal6 module development v0.2Confiz
Ā 
Photoshop manners
Photoshop mannersPhotoshop manners
Photoshop mannersConfiz
Ā 
Monkey talk
Monkey talkMonkey talk
Monkey talkConfiz
Ā 
An insight to microsoft platform
An insight to microsoft platformAn insight to microsoft platform
An insight to microsoft platformConfiz
Ā 
Ts branching over the top
Ts   branching over the topTs   branching over the top
Ts branching over the topConfiz
Ā 

More from Confiz (20)

Agile training workshop
Agile training workshopAgile training workshop
Agile training workshop
Ā 
Web services with laravel
Web services with laravelWeb services with laravel
Web services with laravel
Ā 
DMAIC-Six sigma process Improvement Approach
DMAIC-Six sigma process Improvement ApproachDMAIC-Six sigma process Improvement Approach
DMAIC-Six sigma process Improvement Approach
Ā 
What is UFT? HP's unified functional testing.
What is UFT? HP's unified functional testing.What is UFT? HP's unified functional testing.
What is UFT? HP's unified functional testing.
Ā 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test cases
Ā 
Solid principles of oo design
Solid principles of oo designSolid principles of oo design
Solid principles of oo design
Ā 
Entity framework code first
Entity framework code firstEntity framework code first
Entity framework code first
Ā 
Security testing presentation
Security testing presentationSecurity testing presentation
Security testing presentation
Ā 
Ts seo t ech session
Ts   seo t ech sessionTs   seo t ech session
Ts seo t ech session
Ā 
Learning as a creative professional
Learning as a creative professionalLearning as a creative professional
Learning as a creative professional
Ā 
Learning as a creative professional
Learning as a creative professionalLearning as a creative professional
Learning as a creative professional
Ā 
Ts archiving
Ts   archivingTs   archiving
Ts archiving
Ā 
Advance text rendering in i os
Advance text rendering in i osAdvance text rendering in i os
Advance text rendering in i os
Ā 
Ts threading
Ts   threadingTs   threading
Ts threading
Ā 
Ts android supporting multiple screen
Ts   android supporting multiple screenTs   android supporting multiple screen
Ts android supporting multiple screen
Ā 
Ts drupal6 module development v0.2
Ts   drupal6 module development v0.2Ts   drupal6 module development v0.2
Ts drupal6 module development v0.2
Ā 
Photoshop manners
Photoshop mannersPhotoshop manners
Photoshop manners
Ā 
Monkey talk
Monkey talkMonkey talk
Monkey talk
Ā 
An insight to microsoft platform
An insight to microsoft platformAn insight to microsoft platform
An insight to microsoft platform
Ā 
Ts branching over the top
Ts   branching over the topTs   branching over the top
Ts branching over the top
Ā 

Recently uploaded

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
Ā 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
Ā 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
Ā 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
Ā 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
Ā 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...gurkirankumar98700
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
Ā 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĆŗjo
Ā 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
Ā 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
Ā 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
Ā 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
Ā 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
Ā 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜RTylerCroy
Ā 

Recently uploaded (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Ā 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Ā 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Ā 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Ā 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Ā 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service šŸø 8923113531 šŸŽ° Avail...
Ā 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
Ā 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Ā 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Ā 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Ā 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Ā 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Ā 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Ā 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Ā 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Ā 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 

Software testing methods, levels and types

  • 1. Boutique product development company It is amazing what you can accomplish when you have a client-centric team to deliver outstanding products. Name / Job Role
  • 2. Software Testing Concepts and Definition Presented by Naseer Ahmad / Prepared by Sikandar Ahmed
  • 3. Primary purpose of testing is to detect software failures, so that defects may be discovered and corrected. Items to be covered ā€¢ Concepts (Part 1) ā€¢ SQA vs Testing ā€¢ Test Senario vs Test Cases ā€¢ Testing Cycle ā€¢ Testing Definitions (Part 2) ā€¢ Testing Methods ā€¢ Testing Levels ā€¢ Testing Types
  • 4. Software Quality ā€¢ Quality software is reasonably bug or defect free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable. ā€¢ ISO 8402-1986 standard defines quality as ā€œthe totality of features and characteristics of a product or service that bears its ability to satisfy stated or implied needs.ā€ ā€¢ Key aspects of quality for the customer include: ā€¢ Good design ā€“ looks and style ā€¢ Good functionality ā€“ it does the job well ā€¢ Reliable ā€“ acceptable level of breakdowns or failure ā€¢ Consistency ā€¢ Durable ā€“ lasts as long as it should ā€¢ Good after sales service ā€¢ Value for money 4
  • 5. Software Testing ā€¢ Software testing is a process of executing a program or application with the intent of finding the software bugs. ā€¢ It can also be stated as the process of validating and verifying that a software program or application or product: ā€¢ Meets the business and technical requirements ā€¢ Works as expected ā€¢ Can be implemented with the same characteristic. 5
  • 6. Software Verification ā€¢ It makes sure that the product is designed to deliver all functionality to the customer. ā€¢ Verification is done at the starting of the development process. It includes reviews and meetings, walkthroughs, inspection, etc. to evaluate documents, plans, code, requirements and specifications. ā€¢ It answers the questions like: Am I building the product right? Am I accessing the data right (in the right place; in the right way). ā€¢ According to the Capability Maturity Model(CMMI-SW v1.1) we can also define verification as the process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. [IEEE-STD-610]. 6
  • 7. Software Validation ā€¢ Determining if the system complies with the requirements and performs functions for which it is intended and meets the organizationā€™s goals and user needs. ā€¢ Validation is done at the end of the development process and takes place after verifications are completed. ā€¢ It answers the question like: Am I building the right product? Am I accessing the right data (in terms of the data required to satisfy the requirement). ā€¢ Performed after a work product is produced against established criteria ensuring that the product integrates correctly into the environment. ā€¢ Determination of correctness of the final software product by a development project with respect to the user needs and requirements. ā€¢ According to the Capability Maturity Model(CMMI-SW v1.1) we can also define validation as The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements. [IEEE-STD-610]. 7
  • 8. Basic Testing Cycle ā€¢ Requirements Analysis ā€¢ Test Planning ā€¢ Test Development ā€¢ Test Execution ā€¢ Test Reporting ā€¢ Test Result Analysis ā€¢ Defect Retesting ā€¢ Regression Testing ā€¢ Test Closure 8
  • 9. Testing Methods There are several approaches / techniques of Software Testing 9
  • 11. Testing Methods (Cont.) Static Testing: ā€¢ Static testing is the testing of the software work products manually, or with a set of tools, but they are not executed. ā€¢ It starts early in the Life cycle and so it is done during the verification process. ā€¢ It does not need computer as the testing of program is done without executing the program. For example: reviewing, walk through, inspection, etc. 11
  • 12. Testing Methods (Cont.) Dynamic Testing: ā€¢ Dynamic testing is the testing of the dynamic behaviour of code. ā€¢ It involves working with the software, giving input values and checking if the output is as expected by executing specific test cases which can be done manually or with the use of an automated process. ā€¢ It is done during Validation process. ā€¢ The software is tested by executing it on computer. Ex: Unit testing, integration testing, system testing. 12
  • 13. Testing Methods (Cont.) Black Box Testing: ā€¢ Black-box testing treats the software as a "black box", examining functionality without any knowledge of internal implementation. ā€¢ The tester is only aware of what the software is supposed to do, not how it does it. ā€¢ It also known as Specification-based testing technique or input/output driven testing techniques because they view the software as a black-box with inputs and outputs. 13
  • 14. Testing Methods (Cont.) White Box Testing: ā€¢ White-box testing tests internal structures or workings of a program ā€¢ It is also know as Structure-based or ā€˜glass-boxā€™ testing technique because here the testers require knowledge of how the software is implemented, how it works. ā€¢ In white-box testing the tester is concentrating on how the software does it. 14
  • 15. Testing Methods (Cont.) Visual (GUI) Testing: ā€¢ GUI testing is the process of testing a product's graphical user interface to ensure it meets its written specifications like testing images and buttons alignment on any webpage. 15
  • 16. Testing Levels Each phase of SDLC goes through the testing. Hence there are various levels of testing. 16
  • 17. Testing Levels ā€¢ Unit Testing ā€¢ Component Testing ā€¢ Integration Testing ā€¢ System Testing ā€¢ Acceptance Testing ā€¢ Alpha Testing ā€¢ Beta Testing 17
  • 18. Testing Levels (Cont.) Unit Testing: ā€¢ Unit testing is a method by which individual units of source code together with associated control data are tested to determine if they are fit for use. ā€¢ A unit is the smallest testable part of an application like functions/procedures, classes, interfaces. ā€¢ Unit tests are typically written and run by software developers to ensure that code meets its design and behaves as intended. 18
  • 19. Testing Levels (Cont.) Component Testing: ā€¢ Component testing is also known as module and program testing. ā€¢ Component testing is the phase in which individual software modules are tested to find defects in the module and verifies the functioning of software Module. ā€¢ Component testing may be done in isolation from rest of the system depending on the development life cycle model chosen for that particular application. 19
  • 20. Testing Levels (Cont.) Integration Testing: ā€¢ Integration testing is the phase in which individual software modules are combined and tested as a group to make verify integrated system is ready for system testing. ā€¢ It occurs after unit testing and before validation testing. ā€¢ Integration testing is done by a specific integration tester or test team. 20
  • 21. Testing Levels (Cont.) System Testing: ā€¢ System testing is conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. ā€¢ System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic. ā€¢ 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 nonfunctional requirements of the testing. 21
  • 22. Testing Levels (Cont.) Acceptance Testing: ā€¢ After the system test has corrected all or most defects, the system will be delivered to the user or customer for acceptance testing. ā€¢ Acceptance testing is a test conducted to determine if the requirements of a specification or contract are met prior to its delivery. ā€¢ Acceptance testing is basically done by the user or customer although other stakeholders may be involved as well. 22
  • 23. Testing Levels (Cont.) Alpha Testing: ā€¢ Alpha testing is simulated or actual operational testing by potential users/customers or an independent test team at the developers' site. ā€¢ Alpha testing is often employed for off-the-shelf software as a form of internal acceptance testing, before the software goes to beta testing. ā€¢ This test takes place at the developerā€™s site. 23
  • 24. Testing Levels (Cont.) Beta Testing: ā€¢ It is also known as field testing. It takes place at customerā€™s site. ā€¢ It sends the system to users who install it and use it under realworld working conditions. ā€¢ A beta test is the second phase of software testing in which a sampling of the intended audience tries the product out. ā€¢ Versions of the software, known as beta versions, are released to a limited audience outside of the programming team. 24
  • 25. Testing Types A test type is focused on a particular test objective 25
  • 26. Testing Types (Cont.) Functional Testing: Functional testing refers to activities that verify a specific action or function of the code. Functional tests tend to answer the question of "can the user do this" or "does this particular feature work." Non Functional Testing: Non-functional testing refers to aspects of the software that may not be related to a specific function or user action, such as scalability or other performance, behavior under certain constraints, or security. 26
  • 27. Testing Types (Cont.) Functional Testing Non Functional ā€¢ Installation ā€¢ Compatibility ā€¢ Development ā€¢ Performance ā€¢ Usability ā€¢ Security ā€¢ Sanity ā€¢ Accessibility ā€¢ Smoke ā€¢ Internationalization / Localization ā€¢ Regression ā€¢ Destructive ā€¢ Recovery ā€¢ Automated ā€¢ User Acceptance 27
  • 28. Testing Types (Cont.) Installation Testing: ā€¢ Installation testing focuses on what customers will need to do to install and set up the new software successfully. ā€¢ The testing process may involve full, partial or upgrades install/uninstall processes. ā€¢ This testing is typically done by the software test engineer in conjunction with the configuration manager. 28
  • 29. Testing Types (Cont.) Development Testing: ā€¢ Development Testing is a software development process that involves synchronized application of a broad spectrum of defect prevention and detection strategies in order to reduce software development risks, time, and costs. ā€¢ It is performed by the software developer or engineer during the construction phase of the software development lifecycle. ā€¢ Development Testing might include static code analysis, data flow analysis metrics analysis, peer code reviews, unit testing, code coverage analysis, traceability, and other software verification practices. 29
  • 30. Testing Types (Cont.) Usability Testing: ā€¢ Usability testing is a technique used in user-centered interaction design to evaluate a product by testing it on users. ā€¢ This can be seen as an irreplaceable usability practice, since it gives direct input on how real users use the system. ā€¢ Usability testing generally involves measuring how well test subjects respond in four areas: efficiency, accuracy, recall, and emotional response. 30
  • 31. Testing Types (Cont.) Sanity Testing: ā€¢ The sanity test which offers quick, broad, and shallow testing determines whether it is possible and reasonable to proceed with further testing. ā€¢ If the sanity test fails, it is not reasonable to attempt more rigorous testing. ā€¢ Sanity tests are ways to avoid wasting time and effort by quickly determining whether an application is too flawed to merit any rigorous testing. 31
  • 32. Testing Types (Cont.) Smoke Testing: ā€¢ Smoke testing is preliminary testing to reveal simple failures severe enough to reject a prospective software release e.g. smoke test may ask basic questions like "Does the program run?", "Does it open a window?ā€ ā€¢ The purpose is to determine whether the application is so badly broken that further testing is unnecessary. ā€¢ Smoke testing performed on a particular build is also known as a build verification test. ā€¢ Smoke testing is done by developers and testers both. ā€¢ A smoke test is used as an acceptance test prior to introducing a new build to the main testing process. 32
  • 33. Testing Types (Cont.) Regression Testing: ā€¢ Regression testing is a type of software testing that seeks to uncover new software bugs, or regressions, in existing areas of a system after changes (such as enhancements, patches or configuration changes) have been made to them. ā€¢ Common methods of regression testing include rerunning previously completed tests and checking whether program behavior has changed and whether previously fixed faults have re-emerged. 33
  • 34. Testing Types (Cont.) Destructive Testing: ā€¢ Destructive software testing which attempts to cause a piece of software to fail in an uncontrolled manner, in order to test its robustness. ā€¢ It verifies that the software functions properly even when it receives invalid or unexpected inputs, thereby establishing the robustness of input validation and error-management routines. 34
  • 35. Testing Types (Cont.) Recovery Testing: ā€¢ Recovery testing is the activity of testing how well an application is able to recover from crashes, hardware failures and other similar problems. ā€¢ E.g. While an application is receiving data from a network, unplug the connecting cable. After some time, plug the cable back in and analyze the application's ability to continue receiving data from the point at which the network connection disappeared. 35
  • 36. Testing Types (Cont.) Automated Testing: ā€¢ Test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes to predicted outcomes. ā€¢ Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or add additional testing that would be difficult to perform manually. 36
  • 37. Testing Types (Cont.) User Acceptance Testing: ā€¢ User acceptance testing (UAT) consists of a process of verifying that a solution works for the user. ā€¢ It is not system testing, but rather is there to ensure that the solution will work for the user i.e. test the user accepts the solution. 37
  • 38. Testing Types (Cont.) Compatibility Testing: ā€¢ Compatibility testing, part of software non-functional tests, is testing conducted on the application to evaluate the application's compatibility with the computing environment. ā€¢ Computing environment may contain different OS types (IOS 6, IOS 7), different types of browsers (Chrome, Firefox, IE). 38
  • 39. Testing Types (Cont.) Performance Testing: ā€¢ Performance testing is generally executed to determine how a system or sub-system performs in terms of responsiveness and stability under a particular workload. ā€¢ It can also serve to investigate measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage. ā€¢ Load Testing is a testing that the system can continue to operate under a specific load, whether that be large quantities of data or a large number of users. This is generally referred to as software scalability. ā€¢ Volume testing is a way to test software functions even when certain components (for example a file or database) increase radically in size. ā€¢ Stress testing is a testing beyond normal operational capacity, often to a breaking point, in order to observe the results. It is a form of software testing that is used to determine the stability of a given system. 39
  • 40. Testing Types (Cont.) Security Testing: ā€¢ Security testing is a process to determine that an information system protects data and maintains functionality as intended. ā€¢ The six basic security concepts that need to be covered by security testing are: ā€¢ Confidentiality ā€¢ Integrity ā€¢ Authentication ā€¢ Availability ā€¢ Authorization ā€¢ non-repudiation. 40
  • 41. Testing Types (Cont.) Accessibility Testing: ā€¢ Accessibility is the degree to which a product, device, service, or environment is available to as many people as possible. ā€¢ This testing may include compliance with standards such as World Wide Web Consortium (W3C). ā€¢ Accessibility is not to be confused with usability 41
  • 42. Testing Types (Cont.) Internationalization and localization Testing: ā€¢ Internationalization and localization are means of adapting computer applications to different languages, regional differences and technical requirements of a target market. ā€¢ Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. ā€¢ Localization is the process of adapting internationalized software for a specific region or language by adding locale-specific components and translating text. 42
  • 43. References Institute of Software Testing Qualifications Board http://istqbexamcertification.com/ ISO/IEEE Standards http://standards.ieee.org/findstds/standard/29119-1-2013.html http://www.softwaretestingstandard.org/ QAI Global Institute http://www.qaiusa.com/ Wikipedia: http://en.wikipedia.org/wiki/Software_testing 43