SE - Testing - Part1

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

• Coding and Testing :

Testing Objectives, Unit Testing, Integration Testing, Acceptance Testing,


Regression Testing, Testing for Functionality and Testing for
Performance, Top-Down and Bottom-Up Testing, Software Testing
Strategies - Strategies: Test Drivers and Test Stubs, Structural Testing
(White Box Testing), Functional Testing (Black Box Testing),
Introduction to secure programming. Types of testing – Specification of
test cases – Code review process.
Smoke, Sanity & Regression testing

• Smoke testing: not perform deep testing but it verifies that the core
or main functionalities of the program or the software are working
fine. Smoke testing tests the critical areas and not the complete
application.
• Sanity testing is a software testing technique which does a quick
evaluation of the quality of the software release to determine
whether it is eligible for further rounds of testing or not.
Also called Surface Level Testing which helps in deciding if the
software build is good enough to pass it to the next level of testing.
Smoke Testing verifies : “stability”
Sanity Testing verifies: “rationality”.
Smoke Testing :done by developers or testers .
Sanity Testing : done by testers.

“Smoke testing is a group of tests that are executed to verify if the basic functionalities of a

particular build are working fine as expected or not, and Sanity testing is a shallow and quick

solution to figure out if it is reasonable to go ahead with further testing stages or not.”
Regression Testing

• Regression Testing is a type of software testing executed to check

whether a code change has not unfavorably disturbed current

features & functions of an Application.


• Regression testing is known as generic testing whereas Re-testing is
planned testing.
• Regression Testing is possible with the use of automation whereas
Re-testing is not possible with automation.
Retesting

• Retesting is a process to check specific test cases that are found with

bug/s in the final execution.

• Generally, testers find these bugs while testing the software application

and assign it to the developers to fix it.

• Then the developers fix the bug/s and assign it back to the testers for

verification. This continuous process is called Retesting.


Regression ( system ) testing v/s Retesting
• Regression testing is known as generic testing whereas Re-testing is
planned testing.
• Regression Testing is possible with the use of automation whereas Re-
testing is not possible with automation.
• regression testing is about searching for defects by changing the codes ,
whereas retesting is about fixing specific defects that you've already
found.
• Retesting is always done before regression testing
• Regression testing is done on passed test cases while retesting done
only on failed test cases.
• Regression test checks for side effects occurred while retest checks for
original fault occurred if any.
Alpha Testing
• Alpha Testing is a type of software testing performed to identify bugs
before releasing the product to real users or to the public.
• Alpha testing is carried out by the testers who are internal employees of the
organization.
• It is called called alpha because it is done early on, near the end of the
development of the software, and before beta testing.
• Alpha testing is performed at developer's site while Beta testing is performed at
end-user of the product.
• It is one of the user acceptance testing .
Eg: When a company like Microsoft and IBM launch the new operating
system in the market so they apply the alpha testing phase on software.
The team consists of high-level developer test the software in alpha testing.
Beta testing
1.Beta testing is an opportunity for real users to use a product in a production
environment to uncover any bugs or issues before a general release.

2.Beta testing is the final round of testing before releasing a product to a wide
audience.
Types of Beta Testing

Traditional Beta testing Product is distributed to the target market and related data is gathered in all
aspects. This data can be used for Product improvement.
Public Beta Testing: Product is released publicly to the world through online channels and
feedback data can be collected from anyone.
Eg: For example, Microsoft conducted the largest of all Beta Tests for its
operating system Windows 8 before officially releasing it.
Technical Beta Testing: Product is released to a group of employees of an organization and collects
feedback/data from the employees of the organization.
Focused Beta Testing Software product is released to the market for collecting feedback on specific
features of the program. For example, important functionality of the
software.
Post-release Beta Testing: Software product is released to the market and data is collected to make
improvements for the future release of the product.
Properties of Beta Testing

1 Beta Testing commonly uses black-


box testing.

2 Beta testing doesn’t require a lab or


testing environment.

3 Reliability, security, and robustness


are checked during beta testing.

4 Beta Testing is performed by clients


or users who are not employees of
the company.

5 Beta testing is carried out in the


user’s location
Major difference between Alpha and Beta testing
Alpha Testing Beta Testing
Alpha testing performed by Testers who are usually Beta testing is performed by Clients or End Users who
internal employees of the organization are not employees of the organization

Alpha Testing performed at developer’s site Beta testing is performed at a client location or end
user of the product
Reliability and Security Testing are not performed in- Reliability, Security, Robustness are checked during
depth Alpha Testing Beta Testing
Alpha testing involves both the white box and black Beta Testing typically uses Black Box Testing
box techniques

Alpha testing requires a lab environment or testing Beta testing doesn’t require any lab environment or
environment testing environment. The software is made available to
the public and is said to be real time environment

Long execution cycle may be required for Alpha Only a few weeks of execution are required for Beta
testing testing
Most of the issues or feedback is collected from Beta
Critical issues or fixes can be addressed by testing will be implemented in future versions of the
developers immediately in Alpha testing product

Beta testing also concentrates on the quality of the


Alpha testing is to ensure the quality of the product product, but gathers users input on the product and
before moving to Beta testing ensures that the product is ready for real time users.
System Testing

System testing, also referred to as system-level tests or system-

integration testing, is the process in which a quality assurance (QA)

team evaluates how the various components of an application interact

together in the full, integrated system or application.


4 types of system tests
• unit testing,
• integration testing,
• system testing,
• and acceptance testing
Testing Types
Imp.
• Functional testing can be done manually whereas Non Functional
testing is hard to perform manually.
Broad Classification
Black box Testing White box Testing
• This testing focus on the inputs and outputs without knowing • Called code-based testing, structural
testing, glass box testing etc.
internal code structure.

• It symbolizes not being able to see the inner workings of the


• Is a software testing method in which
internal structure/ design/
software so that only the end-user experience can be tested.
implementation of the code to be
• Black box testing means validating ( authentication): what tested is known to tester.
system do. • code is visible to the tester.
• Eg: Oracle, Windows, Google • It is usually done by developers.
A tester, without knowledge of the internal structures of a • White box testing means verifying
website, tests the web pages by using a browser; providing ( authorization): how system will do.
inputs (clicks, keystrokes) and verifying the outputs against the

expected outcome.
• White box, Gray box and Black Box , yellow box and green box and
Red box testing
Examples of Grey box, white box and black box tests

• Security-related, GUI related, Database related, Browser related, and


Operational system related testing are all part of the test cases
designed for Grey Box testing.
• White Box Testing is software testing technique in which internal
structure, design and coding of software are tested to verify flow of
input-output and to improve design, usability and security. Also called
dynamic testing.
• Blackbox testing involves testing from an external or end-user type
perspective. Also called static testing.
• Yellow box testing- It is a message level testing.

• Yellow box testing tests whether user has correctly provided the

alert messages. Yellow box testing is checking whether the system

properly throwing the warning messages or not?

• This is widely used technique in manual testing these days.


Red box Testing

• It is nothing but a Protocol testing. User / Client can apply any

techniques to accept the project. They will apply white box or grey

box or black box for accepting the project. So we are calling the user

acceptance testing as a red box testing.


Green box testing

• To cater to escalating demand for “green” products and services,

companies are driven to produce environmentally friendly products

that meet specific eco-standards, so as to be identifiable as a ”green

product”.
Summing up
• White Box = Unit and Integration testing, dynamic , structural testing

Black Box = static

• BVA (Boundary Value Analysis)


• ECP (Equivalence Class Partitioning)
• Decision Tables
• STF (State Transition flows)
• Error Guessing

• Yellow Box = Acceptance testing


• Green Box = Release testing
• Gray Box = Maintenance testing

You might also like