SlideShare a Scribd company logo
1 of 16
IV
Software Testing: Testing Process, Design of Test Cases, Types of
Testing, Functional Testing, Structural Testing, Test Activities, Unit
Testing, Integration Testing and System Testing. Debugging
Activities.
Software Maintenance: Management of Maintenance, Maintenance
Process, Reverse Engineering, Software Re-engineering,
Configuration Management, Documentation.
10
Testing in Software Engineering
As per ANSI/IEEE 1059, Testing in Software Engineering is a process of
evaluating a software product to find whether the current software product
meets the required conditions or not. The testing process involves evaluating the
features of the software product for requirements in terms of any missing
requirements, bugs or errors, security, reliability and performance.
Why Software Testing is Important?
Software Testing is Important because if there are any bugs or errors in the
software, it can be identified early and can be solved before delivery of the
software product. Properly tested software product ensures reliability, security
and high performance which further results in time saving, cost effectiveness
and customer satisfaction.
What are the Steps of Software Testing?
Verification and Validation are two major steps in software testing. These steps
implement the fundamentals of software testing.
 In software testing, verification is the process through which your team
checks whether the program, system, or framework is consistent and
aligned with the documentation requirements.
 Validation is the procedure by which your team verifies the system's
accuracy. During this process, you will reflect on the product and the
system; and think of what users desire and what has been developed.
Types of Software Testing
In this section, we have covered the different aspects of some of the most
popular testing types and their subtypes.
White-box testing
It is conducted to test program and its implementation, in order to improve code
efficiency or structure. It is also known as ‘Structural’ testing.
In this testing method, the design and structure of the code are known to the
tester. Programmers of the code conduct this test on the code.
The below are some White-box testing techniques:
 Control-flow testing - The purpose of the control-flow testing to set up
test cases which covers all statements and branch conditions. The branch
conditions are tested for both being true and false, so that all statements
can be covered.
 Data-flow testing - This testing technique emphasis to cover all the data
variables included in the program. It tests where the variables were
declared and defined and where they were used or changed.
Working process of white box testing:
 Input: Requirements, Functional specifications, design documents, source
code.
 Processing: Performing risk analysis to guide through the entire process.
 Proper test planning: Designing test cases so as to cover the entire code.
Execute rinse-repeat until error-free software is reached. Also, the results
are communicated.
 Output: Preparing final report of the entire testing process.
Black-box testing
It is carried out to test functionality of the program. It is also called ‘Behavioral’
testing. The tester in this case, has a set of input values and respective desired
results. On providing input, if the output matches with the desired results, the
program is tested ‘ok’, and problematic otherwise.
In this testing method, the design and structure of the code are not known to the
tester, and testing engineers and end users conduct this test on the software.
Black-box testing techniques:
 Equivalence class - The input is divided into similar classes. If one
element of a class passes the test, it is assumed that all the class is passed.
 Boundary values - The input is divided into higher and lower end values.
If these values pass the test, it is assumed that all values in between may
pass too.
 Cause-effect graphing - In both previous methods, only one input value
at a time is tested. Cause (input) – Effect (output) is a testing technique
where combinations of input values are tested in a systematic way.
 Pair-wise Testing - The behavior of software depends on multiple
parameters. In pairwise testing, the multiple parameters are tested pair-
wise for their different values.
 State-based testing - The system changes state on provision of input.
These systems are tested based on their states and input.
Black Box Testing White Box Testing
An application's internal workings
are not necessary.
Internal workings must be understood.
Also known as closed box/data-
driven testing.
Also known as structural testing or clear
box testing.
Performed by end users, testers, and
programmers
Typically performed by testers and
developers.
This can only be accomplished by
trial and error.
Data domains and internal bounds can be
tested more thoroughly.
Compatibility testing – The test case result not only depends on the product
but is also on the infrastructure for delivering functionality. When the
infrastructure parameters are changed it is still expected to work properly.
Some parameters that generally affect the compatibility of software are:
1. Processor (Pentium 3, Pentium 4) and several processors.
2. Architecture and characteristics of machine (32-bit or 64-bit).
3. Back-end components such as database servers.
4. Operating System (Windows, Linux, etc).
Black Box Testing Type
The following are the several categories of black box testing:
1. Functional Testing
2. Regression Testing
3. Nonfunctional Testing (NFT)
What is Functional Testing?
Functional Testing is a type of software testing that validates the software
system against the functional requirements/specifications. The purpose of
Functional tests is to test each function of the software application, by providing
appropriate input, verifying the output against the Functional requirements.
Functional testing mainly involves black box testing and it is not concerned
about the source code of the application. This testing checks User Interface,
APIs, Database, Security, Client/Server communication and other functionality
of the Application Under Test. The testing can be done either manually or using
automation.
What do you test in Functional Testing?
The prime objective of Functional testing is checking the functionalities of the
software system. It mainly concentrates on –
 Mainline functions: Testing the main functions of an application
 Basic Usability: It involves basic usability testing of the system. It
checks whether a user can freely navigate through the screens without
any difficulties.
 Accessibility: Checks the accessibility of the system for the user
 Error Conditions: Usage of testing techniques to check for error
conditions. It checks whether suitable error messages are displayed.
How to do Functional Testing
Following is a step by step process on How to do Functional Testing :
 Understand the Functional Requirements
 Identify test input or test data based on requirements
 Compute the expected outcomes with selected test input values
 Execute test cases
 Compare actual and computed expected results
Functional Testing Types
 Integration Testing
Integration testing is a type of software testing in which individual units are
combined and tested as a group. This testing aims to expose errors in the
interaction between integrated teams, and integration testing is often performed
after unit testing and before system testing.
 Unit Testing
Unit testing is software testing in which individual units are tested to verify that
they are fit for use. A team is the smallest testable part of an application. In
object-oriented programming, a branch is usually an individual class or method.
Unit testing is often performed by the programmer who writes the code.
 Regression Testing
The system is retested after changes have been made to ensure that the changes
did not introduce new bugs. This is important because it can help catch errors
introduced by the changes.
 Acceptance Testing
Acceptance testing is an essential step in software testing. This step helps
ensure the software is correct and meets the end user's needs.
Functional Vs Non-Functional Testing:
Functional Testing Non-Functional Testing
Functional testing is performed using
the functional specification provided by
the client and verifies the system against
the functional requirements.
Non-Functional testing checks
the Performance, reliability,
scalability and other non-functional
aspects of the software system.
Functional testing is executed first Non-functional testing should be
performed after functional testing
Manual Testing or automation tools can Using tools will be effective for this
be used for functional testing testing
Business requirements are the inputs to
functional testing
Performance parameters like speed,
scalability are inputs to non-
functional testing.
Functional testing describes what the
product does
Nonfunctional testing describes how
good the product works
Easy to do Manual Testing Tough to do Manual Testing
Examples of Functional testing are
 Unit Testing
 Smoke Testing
 Sanity Testing
 Integration Testing
 White box testing
 Black Box testing
 User Acceptance testing
 Regression Testing
Examples of Non-functional testing
are
 Performance Testing
 Load Testing
 Volume Testing
 Stress Testing
 Security Testing
 Installation Testing
 Penetration Testing
 Compatibility Testing
 Migration Testing
Functional Testing Tools
Here is a list of popular Functional Testing Tools. They are explained as
follows:
1) Selenium
Popular Open Source Functional Testing Tool
Selenium is an open-source web automation tool, currently in demand, and
widely used tool in the market. It is one of the best QA automation tools that
can automate across multiple OS Like Windows, Mac, and Linux and browsers
like Firefox, Chrome, IE, as well as Headless Browsers. Check our Selenium
tutorial.
Key Features:
 Selenium test script can be written in programming languages like Java,
C#, Python, Ruby, PHP, Perl and JavaScript
 Selenium offers record and playback features with its browser add-on
Selenium IDE
 The powerful Selenium WebDriver helps you create more complex and
advanced automation scripts.
 Price: Free to use
Visit Selenium >>
2) SoapUI
This is an open source functional testing tool, mainly used for Web service
testing. It supports multiple protocols such as HTTP, SOAP, and JDBC.
Key Features:
 The GUI of the software is easy to handle and use
 Vulnerability testing feature helps to secure website from hackers and
viruses.
 It is possible to do the detailed analysis using its reporting feature.
 The SQL Injection feature, which can be utilized to perform functional
testing, provides some standard SQL queries and methods to identify the
weak areas of the application.
Download Link: https://www.soapui.org/downloads/download-soapui-pro-
trial.html
3) Watir
This is a functional testing tool for web applications. It supports tests executed
at the web browser and uses a ruby scripting language. It is an open-source,
cross-platform web application performance testing tool. It is one of the best
open source test automation tools that interacts with a browser just like a human
being, so it clicks links, filling out forms, and validating text.
Key Features:
 It is a free, so there are no costs to use the tool.
 This automated testing tool, suitable for conducting functional tests, is
supported by a very active and growing community.
 It supports multiple browsers on different platforms.
 It is a powerful and lightweight tool.
4) QTP – Very user-friendly Functional Test tool by HP
5) JUnit– Used mainly for Java applications and this can be used in Unit
and System Testing
Explain the types of functional testing.
The main objective of functional testing is to test the functionality of the
component.
Functional testing is divided into multiple parts.
Here are the following types of functional testing.
Unit Testing: Unit testing is a type of software testing, where the individual
unit or component of the software tested. Unit testing, examine the different part
of the application, by unit testing functional testing also done, because unit
testing ensures each module is working correctly.
The developer does unit testing. Unit testing is done in the development phase
of the application.
Smoke Testing: Functional testing by smoke testing. Smoke testing includes
only the basic (feature) functionality of the system. Smoke testing is known as
"Build Verification Testing." Smoke testing aims to ensure that the most
important function work.
For example, Smoke testing verifies that the application launches successfully
will check that GUI is responsive.
Sanity Testing: Sanity testing involves the entire high-level business scenario
is working correctly. Sanity testing is done to check the functionality/bugs
fixed. Sanity testing is little advance than smoke testing.
For example, login is working fine; all the buttons are working correctly; after
clicking on the button navigation of the page is done or not.
Regression Testing: This type of testing concentrate to make sure that the code
changes should not side effect the existing functionality of the system.
Regression testing specifies when bug arises in the system after fixing the bug,
regression testing concentrate on that all parts are working or not. Regression
testing focuses on is there any impact on the system.
Integration Testing: Integration testing combined individual units and tested
as a group. The purpose of this testing is to expose the faults in the interaction
between the integrated units.
Developers and testers perform integration testing.
White box testing: White box testing is known as Clear Box testing, code-
based testing, structural testing, extensive testing, and glass box testing,
transparent box testing. It is a software testing method in which the internal
structure/design/ implementation tested known to the tester.
The white box testing needs the analysis of the internal structure of the
component or system.
Black box testing: It is also known as behavioral testing. In this testing, the
internal structure/ design/ implementation not known to the tester. This type of
testing is functional testing. Why we called this type of testing is black-box
testing, in this testing tester, can't see the internal code.
For example, A tester without the knowledge of the internal structures of a
website tests the web pages by using the web browser providing input and
verifying the output against the expected outcome.
User acceptance testing: It is a type of testing performed by the client to
certify the system according to requirement. The final phase of testing is user
acceptance testing before releasing the software to the market or production
environment. UAT is a kind of black-box testing where two or more end-users
will involve.
Retesting: Retesting is a type of testing performed to check the test cases that
were unsuccessful in the final execution are successfully pass after the defects
fixed. Usually, tester assigns the bug when they find it while testing the product
or its component. The bug allocated to a developer, and he fixes it. After fixing,
the bug is assigned to a tester for its verification. This testing is known as
retesting.
Database Testing: Database testing is a type of testing which checks the
schema, tables, triggers, etc. of the database under test. Database testing may
involve creating complex queries to load/stress test the database and check its
responsiveness. It checks the data integrity and consistency.
Example: let us consider a banking application whereby a user makes a
transaction. Now from database testing following, things are important. They
are:
o Application store the transaction information in the application database
and displays them correctly to the user.
o No information lost in this process
o The application does not keep partially performed or aborted operation
information.
o The user information is not allowed individuals to access by the
Ad-hoc testing: Ad-hoc testing is an informal testing type whose aim is to
break the system. This type of software testing is unplanned activity. It does not
follow any test design to create the test cases. Ad-hoc testing is done randomly
on any part of the application; it does not support any structured way of testing.
Recovery Testing: Recovery testing is used to define how well an application
can recover from crashes, hardware failure, and other problems. The purpose of
recovery testing is to verify the system's ability to recover from testing points of
failure.
Static Testing: Static testing is a software testing technique by which we can
check the defects in software without actually executing it. Static testing is done
to avoid errors in the early stage of the development as it is easier to find failure
in the early stages. Static testing used to detect the mistakes that may not found
in dynamic testing.
Why we use static testing?
Static testing helps to find the error in the early stages. With the help of static
testing, this will reduce the development timescales. It reduces the testing cost
and time. Static testing also used for development productivity.
Component Testing: Component Testing is also a type of software testing in
which testing is performed on each component separately without integrating
with other parts. Component testing is also a type of black-box testing.
Component testing also referred to as Unit testing, program testing, or module
testing.
Grey Box Testing: Grey Box Testing defined as a combination of both white
box and black-box testing. Grey Box testing is a testing technique which
performed with limited information about the internal functionality of the
system.
Nonfunctional Testing:
It’s in the name. Non functional tests check the non functional attributes of any
software – performance, usability, reliability, security, quality, responsiveness, etc.
These tests establish software quality and performance in real user conditions.
Example: Tests are created to simulate high user traffic so as to check if a site or
app can handle peak traffic hours/days/occasions.
The main sub-sets of non-functional testing are:
 Performance Testing: Software is tested for how efficiently and resiliently it handles
increased loads in traffic or user function. Load testing, stress testing, spike testing, and
endurance testing are various ways in which software resilience is verified.
 Compatibility Testing: Is your software compatible with different browsers, browser
versions, devices (mobile and desktop), operating systems and OS versions? Can a
Samsung user play with your app as easily as an iPhone user? Cross Browser Compatibility
tests help you check that.
 Security Testing: Conducted from the POV of a hacker/attacker, security tests look
for gaps in security mechanisms that could be exploited for data theft or for making
unauthorized changes.
 Usability Testing: Usability tests are run to verify if a software can be used without
hassle by actual target users. So, you put it in the hands of a few prospective users,
in order to get feedback before its actual deployment.
 Visual Testing: Visual tests check if all UI elements are rendering as expected, with
the right shape, size, color, font, and placement. The question these tests answer is:
Does the software as it was meant to in the requirements?
 Accessibility Testing: Accessibility testing evaluates if the software can be used by
individuals who are disabled. Its goal is to optimize the apps so that differently-abled
users can perform all key actions without external assistance.
 Responsive Testing: Responsive tests verify if the app/site renders well on screen
sizes and resolutions offered by different devices, mobile, tablets, desktops, etc. A
site’s responsive design is massively important since most people access the internet
from their mobile devices, and expect software to work without hassle on their
personal endpoints.

More Related Content

Similar to Software Testing and Types in 40 Characters

Similar to Software Testing and Types in 40 Characters (20)

Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing career
Software testing careerSoftware testing career
Software testing career
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
Software testing
Software testingSoftware testing
Software testing
 
S.t.
S.t.S.t.
S.t.
 
UNIT 2.pptx
UNIT 2.pptxUNIT 2.pptx
UNIT 2.pptx
 
Software testing and types.pptx
Software testing and types.pptxSoftware testing and types.pptx
Software testing and types.pptx
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
Software testing
Software testingSoftware testing
Software testing
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Software testing sengu
Software testing  senguSoftware testing  sengu
Software testing sengu
 
Software testing career 20180929 update
Software testing career 20180929 updateSoftware testing career 20180929 update
Software testing career 20180929 update
 
Software Testing
Software TestingSoftware 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
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
unit 4.pptx very needful and important p
unit 4.pptx very needful and important punit 4.pptx very needful and important p
unit 4.pptx very needful and important p
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
 

More from 8759000398

COMPUTER WINDOWS AND ITS LAB ASSESSMENT.docx
COMPUTER WINDOWS AND ITS LAB ASSESSMENT.docxCOMPUTER WINDOWS AND ITS LAB ASSESSMENT.docx
COMPUTER WINDOWS AND ITS LAB ASSESSMENT.docx8759000398
 
SAD_UnitII.docx
SAD_UnitII.docxSAD_UnitII.docx
SAD_UnitII.docx8759000398
 
JavaScript Date Objects.docx
JavaScript Date Objects.docxJavaScript Date Objects.docx
JavaScript Date Objects.docx8759000398
 
C Programming Strings.docx
C Programming Strings.docxC Programming Strings.docx
C Programming Strings.docx8759000398
 
Nursing Infromatics.pptx
Nursing Infromatics.pptxNursing Infromatics.pptx
Nursing Infromatics.pptx8759000398
 
Basics of C.ppt
Basics of C.pptBasics of C.ppt
Basics of C.ppt8759000398
 
College app for android device
College app for android deviceCollege app for android device
College app for android device8759000398
 

More from 8759000398 (9)

COMPUTER WINDOWS AND ITS LAB ASSESSMENT.docx
COMPUTER WINDOWS AND ITS LAB ASSESSMENT.docxCOMPUTER WINDOWS AND ITS LAB ASSESSMENT.docx
COMPUTER WINDOWS AND ITS LAB ASSESSMENT.docx
 
SAD_UnitII.docx
SAD_UnitII.docxSAD_UnitII.docx
SAD_UnitII.docx
 
JavaScript Date Objects.docx
JavaScript Date Objects.docxJavaScript Date Objects.docx
JavaScript Date Objects.docx
 
C Programming Strings.docx
C Programming Strings.docxC Programming Strings.docx
C Programming Strings.docx
 
Nursing Infromatics.pptx
Nursing Infromatics.pptxNursing Infromatics.pptx
Nursing Infromatics.pptx
 
Basics of C.ppt
Basics of C.pptBasics of C.ppt
Basics of C.ppt
 
newone2.pdf
newone2.pdfnewone2.pdf
newone2.pdf
 
College app for android device
College app for android deviceCollege app for android device
College app for android device
 
Android
AndroidAndroid
Android
 

Recently uploaded

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxLigayaBacuel1
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 

Recently uploaded (20)

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Planning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptxPlanning a health career 4th Quarter.pptx
Planning a health career 4th Quarter.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 

Software Testing and Types in 40 Characters

  • 1. IV Software Testing: Testing Process, Design of Test Cases, Types of Testing, Functional Testing, Structural Testing, Test Activities, Unit Testing, Integration Testing and System Testing. Debugging Activities. Software Maintenance: Management of Maintenance, Maintenance Process, Reverse Engineering, Software Re-engineering, Configuration Management, Documentation. 10 Testing in Software Engineering As per ANSI/IEEE 1059, Testing in Software Engineering is a process of evaluating a software product to find whether the current software product meets the required conditions or not. The testing process involves evaluating the features of the software product for requirements in terms of any missing requirements, bugs or errors, security, reliability and performance. Why Software Testing is Important? Software Testing is Important because if there are any bugs or errors in the software, it can be identified early and can be solved before delivery of the software product. Properly tested software product ensures reliability, security and high performance which further results in time saving, cost effectiveness and customer satisfaction. What are the Steps of Software Testing? Verification and Validation are two major steps in software testing. These steps implement the fundamentals of software testing.  In software testing, verification is the process through which your team checks whether the program, system, or framework is consistent and aligned with the documentation requirements.
  • 2.  Validation is the procedure by which your team verifies the system's accuracy. During this process, you will reflect on the product and the system; and think of what users desire and what has been developed. Types of Software Testing In this section, we have covered the different aspects of some of the most popular testing types and their subtypes. White-box testing It is conducted to test program and its implementation, in order to improve code efficiency or structure. It is also known as ‘Structural’ testing.
  • 3. In this testing method, the design and structure of the code are known to the tester. Programmers of the code conduct this test on the code. The below are some White-box testing techniques:  Control-flow testing - The purpose of the control-flow testing to set up test cases which covers all statements and branch conditions. The branch conditions are tested for both being true and false, so that all statements can be covered.  Data-flow testing - This testing technique emphasis to cover all the data variables included in the program. It tests where the variables were declared and defined and where they were used or changed. Working process of white box testing:  Input: Requirements, Functional specifications, design documents, source code.  Processing: Performing risk analysis to guide through the entire process.  Proper test planning: Designing test cases so as to cover the entire code. Execute rinse-repeat until error-free software is reached. Also, the results are communicated.  Output: Preparing final report of the entire testing process. Black-box testing It is carried out to test functionality of the program. It is also called ‘Behavioral’ testing. The tester in this case, has a set of input values and respective desired results. On providing input, if the output matches with the desired results, the program is tested ‘ok’, and problematic otherwise.
  • 4. In this testing method, the design and structure of the code are not known to the tester, and testing engineers and end users conduct this test on the software. Black-box testing techniques:  Equivalence class - The input is divided into similar classes. If one element of a class passes the test, it is assumed that all the class is passed.  Boundary values - The input is divided into higher and lower end values. If these values pass the test, it is assumed that all values in between may pass too.  Cause-effect graphing - In both previous methods, only one input value at a time is tested. Cause (input) – Effect (output) is a testing technique where combinations of input values are tested in a systematic way.  Pair-wise Testing - The behavior of software depends on multiple parameters. In pairwise testing, the multiple parameters are tested pair- wise for their different values.  State-based testing - The system changes state on provision of input. These systems are tested based on their states and input. Black Box Testing White Box Testing An application's internal workings are not necessary. Internal workings must be understood. Also known as closed box/data- driven testing. Also known as structural testing or clear box testing. Performed by end users, testers, and programmers Typically performed by testers and developers. This can only be accomplished by trial and error. Data domains and internal bounds can be tested more thoroughly. Compatibility testing – The test case result not only depends on the product but is also on the infrastructure for delivering functionality. When the
  • 5. infrastructure parameters are changed it is still expected to work properly. Some parameters that generally affect the compatibility of software are: 1. Processor (Pentium 3, Pentium 4) and several processors. 2. Architecture and characteristics of machine (32-bit or 64-bit). 3. Back-end components such as database servers. 4. Operating System (Windows, Linux, etc). Black Box Testing Type The following are the several categories of black box testing: 1. Functional Testing 2. Regression Testing 3. Nonfunctional Testing (NFT) What is Functional Testing? Functional Testing is a type of software testing that validates the software system against the functional requirements/specifications. The purpose of Functional tests is to test each function of the software application, by providing appropriate input, verifying the output against the Functional requirements. Functional testing mainly involves black box testing and it is not concerned about the source code of the application. This testing checks User Interface, APIs, Database, Security, Client/Server communication and other functionality of the Application Under Test. The testing can be done either manually or using automation. What do you test in Functional Testing? The prime objective of Functional testing is checking the functionalities of the software system. It mainly concentrates on –  Mainline functions: Testing the main functions of an application
  • 6.  Basic Usability: It involves basic usability testing of the system. It checks whether a user can freely navigate through the screens without any difficulties.  Accessibility: Checks the accessibility of the system for the user  Error Conditions: Usage of testing techniques to check for error conditions. It checks whether suitable error messages are displayed. How to do Functional Testing Following is a step by step process on How to do Functional Testing :  Understand the Functional Requirements  Identify test input or test data based on requirements  Compute the expected outcomes with selected test input values  Execute test cases  Compare actual and computed expected results
  • 7. Functional Testing Types  Integration Testing Integration testing is a type of software testing in which individual units are combined and tested as a group. This testing aims to expose errors in the interaction between integrated teams, and integration testing is often performed after unit testing and before system testing.  Unit Testing Unit testing is software testing in which individual units are tested to verify that they are fit for use. A team is the smallest testable part of an application. In object-oriented programming, a branch is usually an individual class or method. Unit testing is often performed by the programmer who writes the code.  Regression Testing The system is retested after changes have been made to ensure that the changes did not introduce new bugs. This is important because it can help catch errors introduced by the changes.  Acceptance Testing Acceptance testing is an essential step in software testing. This step helps ensure the software is correct and meets the end user's needs. Functional Vs Non-Functional Testing: Functional Testing Non-Functional Testing Functional testing is performed using the functional specification provided by the client and verifies the system against the functional requirements. Non-Functional testing checks the Performance, reliability, scalability and other non-functional aspects of the software system. Functional testing is executed first Non-functional testing should be performed after functional testing Manual Testing or automation tools can Using tools will be effective for this
  • 8. be used for functional testing testing Business requirements are the inputs to functional testing Performance parameters like speed, scalability are inputs to non- functional testing. Functional testing describes what the product does Nonfunctional testing describes how good the product works Easy to do Manual Testing Tough to do Manual Testing Examples of Functional testing are  Unit Testing  Smoke Testing  Sanity Testing  Integration Testing  White box testing  Black Box testing  User Acceptance testing  Regression Testing Examples of Non-functional testing are  Performance Testing  Load Testing  Volume Testing  Stress Testing  Security Testing  Installation Testing  Penetration Testing  Compatibility Testing  Migration Testing Functional Testing Tools Here is a list of popular Functional Testing Tools. They are explained as follows: 1) Selenium Popular Open Source Functional Testing Tool Selenium is an open-source web automation tool, currently in demand, and widely used tool in the market. It is one of the best QA automation tools that can automate across multiple OS Like Windows, Mac, and Linux and browsers like Firefox, Chrome, IE, as well as Headless Browsers. Check our Selenium tutorial.
  • 9. Key Features:  Selenium test script can be written in programming languages like Java, C#, Python, Ruby, PHP, Perl and JavaScript  Selenium offers record and playback features with its browser add-on Selenium IDE  The powerful Selenium WebDriver helps you create more complex and advanced automation scripts.  Price: Free to use Visit Selenium >> 2) SoapUI This is an open source functional testing tool, mainly used for Web service testing. It supports multiple protocols such as HTTP, SOAP, and JDBC. Key Features:  The GUI of the software is easy to handle and use  Vulnerability testing feature helps to secure website from hackers and viruses.  It is possible to do the detailed analysis using its reporting feature.  The SQL Injection feature, which can be utilized to perform functional testing, provides some standard SQL queries and methods to identify the weak areas of the application.
  • 10. Download Link: https://www.soapui.org/downloads/download-soapui-pro- trial.html 3) Watir This is a functional testing tool for web applications. It supports tests executed at the web browser and uses a ruby scripting language. It is an open-source, cross-platform web application performance testing tool. It is one of the best open source test automation tools that interacts with a browser just like a human being, so it clicks links, filling out forms, and validating text. Key Features:  It is a free, so there are no costs to use the tool.  This automated testing tool, suitable for conducting functional tests, is supported by a very active and growing community.  It supports multiple browsers on different platforms.  It is a powerful and lightweight tool. 4) QTP – Very user-friendly Functional Test tool by HP 5) JUnit– Used mainly for Java applications and this can be used in Unit and System Testing
  • 11. Explain the types of functional testing. The main objective of functional testing is to test the functionality of the component. Functional testing is divided into multiple parts. Here are the following types of functional testing.
  • 12. Unit Testing: Unit testing is a type of software testing, where the individual unit or component of the software tested. Unit testing, examine the different part of the application, by unit testing functional testing also done, because unit testing ensures each module is working correctly. The developer does unit testing. Unit testing is done in the development phase of the application. Smoke Testing: Functional testing by smoke testing. Smoke testing includes only the basic (feature) functionality of the system. Smoke testing is known as "Build Verification Testing." Smoke testing aims to ensure that the most important function work. For example, Smoke testing verifies that the application launches successfully will check that GUI is responsive. Sanity Testing: Sanity testing involves the entire high-level business scenario is working correctly. Sanity testing is done to check the functionality/bugs fixed. Sanity testing is little advance than smoke testing. For example, login is working fine; all the buttons are working correctly; after clicking on the button navigation of the page is done or not.
  • 13. Regression Testing: This type of testing concentrate to make sure that the code changes should not side effect the existing functionality of the system. Regression testing specifies when bug arises in the system after fixing the bug, regression testing concentrate on that all parts are working or not. Regression testing focuses on is there any impact on the system. Integration Testing: Integration testing combined individual units and tested as a group. The purpose of this testing is to expose the faults in the interaction between the integrated units. Developers and testers perform integration testing. White box testing: White box testing is known as Clear Box testing, code- based testing, structural testing, extensive testing, and glass box testing, transparent box testing. It is a software testing method in which the internal structure/design/ implementation tested known to the tester. The white box testing needs the analysis of the internal structure of the component or system. Black box testing: It is also known as behavioral testing. In this testing, the internal structure/ design/ implementation not known to the tester. This type of testing is functional testing. Why we called this type of testing is black-box testing, in this testing tester, can't see the internal code. For example, A tester without the knowledge of the internal structures of a website tests the web pages by using the web browser providing input and verifying the output against the expected outcome. User acceptance testing: It is a type of testing performed by the client to certify the system according to requirement. The final phase of testing is user acceptance testing before releasing the software to the market or production environment. UAT is a kind of black-box testing where two or more end-users will involve. Retesting: Retesting is a type of testing performed to check the test cases that were unsuccessful in the final execution are successfully pass after the defects fixed. Usually, tester assigns the bug when they find it while testing the product or its component. The bug allocated to a developer, and he fixes it. After fixing, the bug is assigned to a tester for its verification. This testing is known as retesting. Database Testing: Database testing is a type of testing which checks the schema, tables, triggers, etc. of the database under test. Database testing may
  • 14. involve creating complex queries to load/stress test the database and check its responsiveness. It checks the data integrity and consistency. Example: let us consider a banking application whereby a user makes a transaction. Now from database testing following, things are important. They are: o Application store the transaction information in the application database and displays them correctly to the user. o No information lost in this process o The application does not keep partially performed or aborted operation information. o The user information is not allowed individuals to access by the Ad-hoc testing: Ad-hoc testing is an informal testing type whose aim is to break the system. This type of software testing is unplanned activity. It does not follow any test design to create the test cases. Ad-hoc testing is done randomly on any part of the application; it does not support any structured way of testing. Recovery Testing: Recovery testing is used to define how well an application can recover from crashes, hardware failure, and other problems. The purpose of recovery testing is to verify the system's ability to recover from testing points of failure. Static Testing: Static testing is a software testing technique by which we can check the defects in software without actually executing it. Static testing is done to avoid errors in the early stage of the development as it is easier to find failure in the early stages. Static testing used to detect the mistakes that may not found in dynamic testing. Why we use static testing? Static testing helps to find the error in the early stages. With the help of static testing, this will reduce the development timescales. It reduces the testing cost and time. Static testing also used for development productivity. Component Testing: Component Testing is also a type of software testing in which testing is performed on each component separately without integrating with other parts. Component testing is also a type of black-box testing. Component testing also referred to as Unit testing, program testing, or module testing.
  • 15. Grey Box Testing: Grey Box Testing defined as a combination of both white box and black-box testing. Grey Box testing is a testing technique which performed with limited information about the internal functionality of the system. Nonfunctional Testing: It’s in the name. Non functional tests check the non functional attributes of any software – performance, usability, reliability, security, quality, responsiveness, etc. These tests establish software quality and performance in real user conditions. Example: Tests are created to simulate high user traffic so as to check if a site or app can handle peak traffic hours/days/occasions. The main sub-sets of non-functional testing are:  Performance Testing: Software is tested for how efficiently and resiliently it handles increased loads in traffic or user function. Load testing, stress testing, spike testing, and endurance testing are various ways in which software resilience is verified.  Compatibility Testing: Is your software compatible with different browsers, browser versions, devices (mobile and desktop), operating systems and OS versions? Can a Samsung user play with your app as easily as an iPhone user? Cross Browser Compatibility tests help you check that.  Security Testing: Conducted from the POV of a hacker/attacker, security tests look for gaps in security mechanisms that could be exploited for data theft or for making unauthorized changes.  Usability Testing: Usability tests are run to verify if a software can be used without hassle by actual target users. So, you put it in the hands of a few prospective users, in order to get feedback before its actual deployment.  Visual Testing: Visual tests check if all UI elements are rendering as expected, with the right shape, size, color, font, and placement. The question these tests answer is: Does the software as it was meant to in the requirements?
  • 16.  Accessibility Testing: Accessibility testing evaluates if the software can be used by individuals who are disabled. Its goal is to optimize the apps so that differently-abled users can perform all key actions without external assistance.  Responsive Testing: Responsive tests verify if the app/site renders well on screen sizes and resolutions offered by different devices, mobile, tablets, desktops, etc. A site’s responsive design is massively important since most people access the internet from their mobile devices, and expect software to work without hassle on their personal endpoints.