0% found this document useful (0 votes)
9 views57 pages

SQA - Unit 2

Prof. C. D. Prajapati is an Assistant Professor at Ganpat University with 15 years of experience in academia and IT. The document outlines various levels and types of software testing, including unit, integration, system, functionality, performance, security, alpha, and beta testing, as well as validation techniques like form and field level validation. It emphasizes the importance of both functional and non-functional testing to ensure software quality and performance.

Uploaded by

Parth Somani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views57 pages

SQA - Unit 2

Prof. C. D. Prajapati is an Assistant Professor at Ganpat University with 15 years of experience in academia and IT. The document outlines various levels and types of software testing, including unit, integration, system, functionality, performance, security, alpha, and beta testing, as well as validation techniques like form and field level validation. It emphasizes the importance of both functional and non-functional testing to ensure software quality and performance.

Uploaded by

Parth Somani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

Prof. C. D.

Prajapati 1
Prof. C. D. Prajapati
About Me:
I am a academician, researcher and blogger working as a
Assistant Professor with highly education institute Ganpat
University in Gujarat. I Have tacking rich experience of around
15 years in academics and IT industry.
I am from Gujarat Mehsana.

LinkedIn:
https://www.linkedin.com/in/chandrakant-prajapati-46048510/

My Blog : https://cdprajapati.blogspot.com/

You Tube Channel:


https://www.youtube.com/channel/UC4okdjTI5XBBPjo3jtmlZWw

Facebook Page: https://www.facebook.com/cdprajapati

Instagram Page: https://www.instagram.com/cd_prajapati/

For Any Query Contact To


cdp01@ganpatuniversity.ac.in
Mob: 9426399779 Prof. C. D. Prajapati 2
Agenda

Levels of Testing,
Alpha Testing,
Beta Testing,
Black box Testing,
White Box Testing,
Functional Testing,
Non Functional Testing,
Form level Validation,
Field Level Validation,
Inter form dependencies,
Web Based Testing.
Prof. C. D. Prajapati 3
Phases (Level) of Software Testing

The levels of testing are

Unit testing,
Integration testing,
System testing,
Functionality testing
Performance testing
Security & Portability
Acceptance or Installation testing.
Alpha testing
Beta testing
Prof. C. D. Prajapati 4
Unit testing:
Unit testing, also known as component testing,

refers to tests that verify the functionality of a


specific section of code, usually at the function level.

These types of tests are usually written by


developers as they work on code (white-box style),

to ensure that the specific function is working as


expected.

Prof. C. D. Prajapati 5
Integration testing:
Integration testing is any type of software testing that to
verify the interfaces between components against a
software design.

Software components may be integrated in an iterative


way or all together.

Normally the former is considered a better practice since


it allows interface issues to be located more quickly and
fixed.
Integration testing works to expose defects in the
interfaces and interaction between integrated
components (modules).
Prof. C. D. Prajapati 6
System testing:
System testing, or end-to-end testing,

tests a completely integrated system to verify that it


meets its requirements.

In addition, the software testing should ensure that


the program, as well as working as expected.

Functionality testing -
Performance testing -
Security & Portability -

Prof. C. D. Prajapati 7
Functionality testing - Tests all functionalities of the software
against the requirement.
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 an 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.
Prof. C. D. Prajapati 8
Performance Testing
• Web application should sustain to heavy load.
• To check whether system meets performance
requirements.
• Web performance testing should include:
1) Web Load Testing
2) Web Stress Testing

• Test application performance on different internet


connection speed, Access in different browsers,
• In web performance testing web site functionality on
different operating systems, different hardware
platforms is checked for software, hardware memory
leakage errors etc.
Prof. C. D. Prajapati 9
Performance Testing
• In web load testing test if many users are accessing or
requesting the same page.

• So, can system sustain in peak load times?

• Site should handle many simultaneous user requests,

• large input data from users,

• Simultaneous connection to DB,

• heavy load on specific pages etc.

Prof. C. D. Prajapati 10
Performance Testing
• In web stress testing is performed to break the site by
giving stress and checked how system reacts to stress
and how system recovers from crashes.

• Stress is generally given on input fields, login and sign


up areas.

• Example: if an app is build for 500 users,

• then for load testing we check up to 500 users

• and for stress testing we check greater than 500.

Prof. C. D. Prajapati 11
Security & Portability - These tests are done when the
software is meant to work on various platforms and
accessed by number of persons.

• Security is most important for all web based


application or database.

• Can system be entered by any hacking way.

• Testing how well the system protects against


unauthorized internal or external access.

• Checked if system, database is safe from external


attacks.
Prof. C. D. Prajapati 12
Installation testing or User Acceptance testing:

An installation test assures that the system is


installed correctly and working at actual customer's
hardware.

 Alpha Testing
 Beta Testing

Prof. C. D. Prajapati 13
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.

Performed with in house users to ensure that the


product meets its functionality or not.

Prof. C. D. Prajapati 14
Beta testing
Beta testing comes after alpha testing and
can be considered a form of external user acceptance
testing.

Versions of the software, known as beta versions, are


released to a limited audience outside of the
programming team.

The software is released to groups of people so that


further testing can ensure the product has few faults
or bugs. Performed with real users to ensure that the
product meets its functionality or not.
Prof. C. D. Prajapati 15
Prof. C. D. Prajapati 16
Prof. C. D. Prajapati 17
Prof. C. D. Prajapati 18
White Box Testing

White-box testing (also known as clear box testing, glass box


testing and transparent box testing)

is a method of testing software that tests internal structures


or workings of an application, as opposed to its functionality
(i.e. black-box testing).

In white-box testing an internal perspective of the system, as


well as programming skills, are used to design test cases.

The tester chooses inputs to exercise paths through the code


and determine the appropriate outputs.
Prof. C. D. Prajapati 19
White Box Testing

White box testing technique is used by both developers


as well as testers.

It helps them understand which line of code is actually


executed and which is not.

This may indicate that there is either missing logic or a


typo, which eventually can lead into some negative
consequences.

Prof. C. D. Prajapati 20
Black Box Testing

Black box testing is a software testing techniques in which


functionality of the software under test (SUT) is tested without looking
at the internal code structure,

implementation details and knowledge of internal paths of the software.

This type of testing is based entirely on the software requirements and


specifications.

In Black Box Testing we just focus on inputs and output of the software
system without bothering about internal knowledge of the software
program.

Prof. C. D. Prajapati 21
Black Box Testing

For example : an operating system like Windows,


a website like Google ,
a database like Oracle or
even your own custom application.

Under Black Box Testing , you can test these applications by


just focusing on the inputs and outputs without knowing
their internal code implementation.

Prof. C. D. Prajapati 22
Here are the generic steps followed to carry out any type of Black
Box Testing.

1.Initially requirements and specifications of the system are examined.

2.Tester chooses valid inputs (positive test scenario) to check whether


SUT processes them correctly . Also some invalid inputs (negative test
scenario) are chosen to verify that the SUT is able to detect them.

3.Tester determines expected outputs for all those inputs.

4.Software tester constructs test cases with the selected inputs.

5.The test cases are executed.

6.Software tester compares the actual outputs with the expected outputs.

Prof. C. D. Prajapati 23
Prof. C. D. Prajapati 24
While White Box Testing (Unit Testing) validates internal structure
and working of your software code. the main focus of black box
testing is on the validation of your functional requirements.

To conduct White Box Testing , knowledge of underlying


programming language is essential. Current day software systems
use a variety of programming languages and technologies and its
not possible to know all of them. Black box testing gives abstraction
from code and focuses testing effort on the software system
behavior.

In case you push code fixes in your live software system , a complete
system check (black box test) becomes essential.

Though White box testing has its own merits and help detect many
internal errors which may degrade system performance
Prof. C. D. Prajapati 25
Prof. C. D. Prajapati 26
Let us say that we need to check an input field that can accept
maximum of 10 characters.

While developing the test cases for the above scenario, the test cases
are documented the following way.
In the below example, the first case is a pass scenario while the
second case is a FAIL.
Scenario Test Step Expected Result Actual Outcome

Verify that the Login to Application should Application


input field that application and be able to accept accepts all 10
can accept key in 10 all 10 characters. characters.
maximum of 10 characters
characters
Verify that the Login to Application should Application
input field that application and NOT accept all 11 accepts all 10
can accept key in 11 characters. characters
maximum of 11 characters
characters
Prof. C. D. Prajapati 27
Prof. C. D. Prajapati 28
Functional testing
verifies that each function of the software application
operates in conformance with the requirement specification.

This testing mainly involves black box testing and it is not


concerned about the source code of the application.

Each and every functionality of the system is tested by


providing appropriate input, verifying the output and
comparing the actual results with the expected results.

This testing involves checking of User Interface, APIs,


Database, security, client/ server applications and
functionality of the Application Under Test.
Prof. C. D. Prajapati 29
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 an 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.

Prof. C. D. Prajapati 30
Non-functional testing
like performance, usability, load that are also important.

Prof. C. D. Prajapati 31
Many times you have come across to long load time messages while
accessing an application.

To address this issue, performance testing is carried out to check & fine
tune system response times.

The goal of performance testing is to reduce response time to an


acceptable level.
Likewise, you might have seen the message like "Server Busy".

Hence, load testing is carried out to check systems performance at


different loads i.e. number of users accessing the system.
Prof. C. D. Prajapati 32
Functional Testing Non-Functional Testing
Functional testing is performed using the Non-Functional testing checks
functional specification provided by the client the Performance, reliability, scalability and
and verifies the system against the functional other non-functional aspects of the software
requirements. system.
Non functional testing should be performed
Functional testing is executed first
after functional testing
Business requirements are the inputs to Performance parameters like speed , scalability
functional testing are inputs to non-functional testing.
Functional testing describes what the product Nonfunctional testing describes how good the
does product works
Types of Functional testing are Types of Non functional testing are
•Unit Testing •Performance Testing
•Smoke Testing •Load Testing
•Sanity Testing •Volume Testing
•Integration Testing •Stress Testing
•White box testing •Security Testing
•Black Box testing •Installation Testing
•User Acceptance testing •Penetration Testing
•Regression Testing •Compatibility Testing
•Migration Testing
Prof. C. D. Prajapati 33
Form Level Validation

Prof. C. D. Prajapati 34
Form level validation
is the validation step that is done after the filling up of the
form is done.
Its usually performed when the user submits the forms.
Form-level validation is the process of validating all fields on a
form at once.

It is usually called when the user is ready to proceed to


another step.

In most applications that you create, users will need to enter


information that the application will process.
It is important for users to enter valid data so that the
application will run correctly.
Prof. C. D. Prajapati 35
Form level validation

The main objective of form level validation is to

1) Prevent users from entering invalid data whenever


possible.
2) Make sure that only valid data are entered and
processed.

Form level validation is used to ensure all the required


form data is filled in, and/or to make sure that any data
dependencies between fields are met before the form is
submitted.
Prof. C. D. Prajapati 36
Form level validation

The different types of forms have different types of


validations like

some forms have some fields which are compulsory so user


need to enter details in these fields.
So if user left these fields blank, the form level validation will
not allow the user to move forward.

Another type of validation is the Email format.

The validation enforces the end user to enter email in valid


format.
Prof. C. D. Prajapati 37
Form level validation

Another type of validation is the range validation.

For example
if you are entering pin code it must be entered in
predefined range.

Form level validations will be checked when user fill the


entire form and click on submit button.

If all the validations are performed then user will allow


submitting the entered data otherwise the application
will get the user back on the same page.
Prof. C. D. Prajapati 38
Field Level Validation

Prof. C. D. Prajapati 39
Field level validation

provides immediate validation of the input given by the user.

Here data can be validated at the field level when it is entered


by the user.

The events associated with field level validation are Key


Down, Key Press, Text Change, etc.

A field refers to data that is entered. Field level validation


refers to built in rules for the type /range of data that is
allowed to be entered in that field.

Prof. C. D. Prajapati 40
Field level validation

You can use a field-level validation rule when the following


apply:

1) to control the type of information a user can enter in a


field.
2) You can validate the data in a field independently from any
other entry in the record.

For example, you can use a field-level validation rule to make


sure that a user does not enter a negative number in a field
that requires a positive value.

Prof. C. D. Prajapati 41
Field level validation

For example in a typical web registration form, validation for


the field "Age" would be:

1. It should be an integer (meaning a whole number)


2. between 0 and 100. It cannot accept alphanumeric
characters.

3. It should be entered and cannot be left blank.

4. So field level validation checks the entered value with


specified range value when user jumps to another field.
I.e. when field lost the focus.
Prof. C. D. Prajapati 42
Field level validation

The purpose of Field Level validation is to verify that the input


to a single field is entered correctly.

For example, for an email field, the job of the validation script
is to make sure the entered text matches the standard email
format,

i.e., two sets of strings separated by an "@" symbol.

Prof. C. D. Prajapati 43
Inter-Form Dependencies

Prof. C. D. Prajapati 44
Inter-Form Dependencies

Sometimes an input form contains some inter


dependency between fields of form.

Means the value of one field is dependent on the


value of other field of the same form.

In that case we need to validate inter form


dependency first and then the form level validations
are performed.

Prof. C. D. Prajapati 45
Inter-Form Dependencies

For example suppose we are entering the employee personal


data in the personal data entry form then the joining date of
employee must be greater than the date of birth of employee.

Here joining date and birth date are the example of inter-field
dependency.

So we need to validate joining date against date of birth.

So if the input form contains some inter dependencies of


fields we need to validate these interdependency fields so
that correct and validate data entered in the processing.
Prof. C. D. Prajapati 46
Types of Application

Prof. C. D. Prajapati 47
Desktop application (standalone application)

Desktop application runs on personal computers and


work stations,

so when you test the desktop application you are


focusing on a specific environment.

You will test complete application broadly in


categories like GUI, functionality, Load, and backend
i.e. Database.

Prof. C. D. Prajapati 48
Client server application (Web based Application)

In client server application you have two different


components to test.
Application is loaded on server machine while the application
execute on every client machine.

You will test broadly in categories like, GUI on both sides,


functionality, Load, client-server interaction, backend.

This environment is mostly used in Intranet or internet


networks.
You are aware of number of clients and servers and their
locations in the test scenario.
Prof. C. D. Prajapati 49
Web application

Web application is a bit different and complex to test as


tester don’t have that much control over the application.

Application is loaded on the server whose location may or


may not be known and no execute is installed on the client
machine, you have to test it on different web browsers.

Web applications are supposed to be tested on different


browsers and OS platforms so broadly Web application is
tested mainly for browser compatibility and operating
system compatibility, error handling, static pages, backend
testing and load testing.
Prof. C. D. Prajapati 50
Mobile application

A mobile application or app is a computer program or


software application designed to run on a mobile device.

such as a phone, tablet, or watch.

Native applications are designed specifically for a mobile


operating system, typically iOS or Android.

Web apps are written in HTML5 or CSS and

typically run through a browser.

Prof. C. D. Prajapati 51
Web Based Testing
• One of the most popular current software testing
trends is web testing that focuses on the testing of
web-based applications.

• This is done for 3 tier applications (developed for


Internet / intranet / extranet)
• A web-application is a three-tier application.
• webserver (manipulates data)
• database server (stores data)
• This has a browser (monitors data)

• Here we will be having Browser, web server and DB


server. Prof. C. D. Prajapati 52
Web Based Testing
• Applications for the web server would be

• developed in Java, ASP, JSP, VBScript, JavaScript,


Perl, Cold Fusion, PHP etc.

• (All the manipulations are done on the web server


with the help of these programs developed).

Prof. C. D. Prajapati 53
Web Based Testing

• The DB server would be having oracle, SQL server,


Sybase, MYSQL, MS Acsess etc.

• (All data is stored in the database available on the


DB server)

• The applications accessible in browser would be


developed in HTML, DHTML, XML, JavaScript etc.

Prof. C. D. Prajapati 54
Web Based Testing

The types of tests which can be applied on web based


applications are:

1) Functionality Testing
2) Usability testing
3) Interface testing
4) Compatibility testing
5) Performance testing
6) Security testing

Prof. C. D. Prajapati 55
Prof. C. D. Prajapati 56
Thank you
C. D. Prajapati
Assistant Professor
DCS, Ganpat University
cdp01@ganpatuniversity.ac.in
Mob: 9426399779

https://cdprajapati.blogspot.com/

Prof. C. D. Prajapati 57

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy