You are on page 1of 6

VARDHAMAN COLLEGE OF ENGINEERING

(Autonomous)
Shamshabad - 501 218, Hyderabad
DEPARTMENT OF INFORMATION TECHNOLOGY
Regulations: VCE - R11 / VCE - R11A
B.Tech Information Technology VII Semester
COURSE DESCRIPTION

I.

Course Code
Course Title

:
:

Course Structure

Course Coordinator
Team of Instructors

:
:

A1525
Software Testing and Quality Assurance
Lectures Tutorials Practicals
4
Mr. Vinod Bhupathi
Mr. Anvesh K, Mr. Srikanth.I

Credits
4

Course Overview:

This course shows how to define software quality and how it is assessed through various testing
techniques. Topics include review/inspection technique for nonexecutable software, blackbox
and white box testing techniques for executable software and test result analysis. Specific test
case development techniques such as boundary value, equivalence class, control paths, and
dataflow paths test are introduced. Different levels of testing such as functional, component and
system/regression tests are discussed with the concept of configuration management.
II.

Prerequisite(s):
Level

Credits

Periods / Week

UG

Prerequisites
Basics of Software Engineering and
Software Project Management,

Familiarity with Windows


III.

IV.

Marks Distribution:
Sessional Marks

University End
Exam Marks

Total
Marks

Mid Semester Test


There will be two Mid Semester Tests in theory courses having a
weightage of 20 marks to be answered in two hours duration each.
Marks shall be awarded considering the average of two Mid Semester
Tests in each course. In case a student does not appear in the Mid
Semester Tests due to any reason whatsoever, will get zero marks(s).
Objective Test
There will be one Objective Test in theory courses for a maximum of 5
marks to be answered in 20 Minutes duration. In case a student does not
appear in the Objective Test due to any reason whatsoever, will get zero
marks(s).

75

100

Evaluation Scheme:
I Mid Term Examination

10 marks

II Mid Term Examination

20 marks

Online Objective Test

5 marks

End Semester Examination

75 marks

V.

VI.

Course Objectives:
I.
This course is designed to bring new software testers up to speed quickly, course covers from
basics to structured software testing methodologies.
II.

They will also be able to write test plans, test design specifications, and test cases, apply use test
metrics to manage the test process.

III.

Emphasis is on finding and reporting bugs.

IV.

Topics include basic testing theory, a discussion of quality, techniques for determining whether a
bug is real, and tips and tricks for bug reproduction and isolation.

V.

You will learn key testing concepts, such as Regression, Black Box/White Box, and User
Acceptance, Alpha, Beta.

VI.

It is a fast-paced course with hands-on testing, bug reporting, and feedback. In hands-on exercises
it will cover writing Test Specification, Test Plan, Test Cases & Bug Reporting.

VII.

The demand of complex & distributed software development requires full scale testing of the
product.

Course Outcomes:
1.

VII.

Upon completion of this course, students will be able to:


Understand various test processes and continuous quality improvement, types of errors and fault
models.

2.

Methods of test generation from requirements

3.

Understand input space modeling using combinatorial designs, combinatorial test generation

4.

Understand the test adequacy assessment using: control flow, data flow, and program mutations

5.

Understanding the use of various testing tools, application of software testing techniques in
commercial environments

6.

Provides basic knowledge base to the software professionals, managers and architects willing to
save time, effort and money by implementing a software discipline within their organizations.

7.

Familiarize with testing methodologies and processes which are practical and real.

8.

Work together as a team in preparing a report.

9.

Communicate in writing a technical document.

10.

Communicate effectively in English for general project presentation.

How Course Outcomes are assessed:


Program Outcomes
A

D
E

An ability to apply knowledge of mathematics, including discrete


mathematics, probability, statistics, science, computer science and
engineering, electronic engineering and electrical engineering as it applies
to computer hardware and software (fundamental engineering analysis
skills).
An ability to design and conduct experiments, as well as to organize,
analyze and interpret data to produce meaningful conclusions and
recommendations (information retrieval skills).
An ability to design and conduct experiments, as well as to organize,
analyzes and interprets data to produce meaningful conclusions and
recommendations (information retrieval skills).
An ability to work individually or as a member with responsibility to
function on multi-disciplinary teams (teamwork).
An ability to identify, formulat , and solve hardware and software
computing problems, accounting for the interaction between hardware and
software (engineering problem solving skills).
An understanding of professional, legal, ethical, security and social issues

Level

Proficiency
assessed by

Assignments,
Tutorials,
Exams.

--

Assignments,
Labs.

Tutorials,
Exams

Assignments,
Exams.

--

Program Outcomes
G

J
K

VIII.

and responsibilities (professional integrity).


An ability to communicate effectively in speech and in writing, including
documentation of hardware and software systems (speaking / writing
skills).
Able to show the understanding of impact of engineering solutions in a
global on the society, economic, environmental (engineering impact
assessment skills).
Demonstrate an ability to acquire new knowledge in the computing
discipline and to engage in life-long learning (continuing education
awareness).
Knowledge of contemporary issues in the social sciences and the
humanities using computational tools (social awareness).
An ability to use the techniques, skills, and modern engineering tools
necessary for computer engineering practice (practical engineering analysis
skills).
An ability to apply engineering and management knowledge and
techniques to estimate time and resources needed to complete a computer
engineering project (engineering and management skills).
An ability to recognize the importance of professional development by
pursuing postgraduate studies or face competitive examinations that offer
challenging and rewarding careers in computing (successful career and
immediate employment).
N = None
S = Supportive
H = Highly Related

Level

Proficiency
assessed by

Assignments,
Tutorials,
Exams.

--

--

--

Lab, Exams.

--

--

Syllabus:
UNIT I
INTRODUCTION AND THE TAXONOMY OF BUGS: Purpose of testing, some dichotomies, a model for
testing, the consequences of bugs, taxonomy for bugs, some bug statistics.
FLOW GRAPHS AND PATH TESTING: Path testing basics, predicates, path predicates and achievable paths,
path sensitizing, path instrumentation, implement and application of path testing.
UNIT II
TRANSACTION FLOW TESTING AND DATA FLOW TESTING: Transaction flows, transaction flow testing
techniques, dataflow testing basics, data flow testing strategies, application, tools and effectiveness.
DOMAIN TESTING: Domains and paths, nice and ugly domains, domain testing, domains and interfaces
testing, domains and testability.
UNIT III
PATHS, PATH PRODUCTS AND REGULAR EXPRESSIONS: Path products and path expressions, a reduction
procedure, applications, regular expressions and flow anomaly detection.
LOGIC BASED TESTING: Motivational overview, decision tables, path expressions again, KV charts,
specifications.
UNIT IV
STATES, STATE GRAPHS AND TRANSITION TESTING: State graphs, good state graphs and bad, state
testing, testability tips.
GRAPH MATRICES AND APPLICATIONS: Motivational overview, the matrix of a graph, relations, the
powers of a matrix, node reduction algorithm, building tools.
UNIT V
AN OVERVIEW OF SOFTWARE TESTING TOOLS: Overview of win runner and QTP testing tools for
functional /regression testing, testing an application using win runner and QTP, synchronization of test
cases, data driven testing, testing a web application.

IX.

List of Text Books / References / Websites / Journals / Others


Text Books:
1. Boris Beizer (2004), Software Testing Techniques, 2nd edition, Dreamtech Press, New Delhi, India.
2. Dr. K. V. K. K. Prasad (2005), Software Testing Tools, Dreamtech Press, India.
Reference Books:
1. William E. Perry (2006), Effective methods of Software Testing, 3rd edition, John Wiley Edition, USA.
2. Meyers (2004), Art of Software Testing, 2nd edition, John Wiley, New Jersey, USA.

X.

Course Plan:
The course plan is meant as a guideline. There may probably be changes.
Lecture
No.
1-2
3-4
5
6-7
8-9
10
11
12-13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29-30
31
32
33
34-36

Learning Objectives
To understand testing and purpose of
testing
To know various dichotomies of
testing strategies
Learning about model of testing
To know about various effects of bugs
To know about taxonomy of bugs
To get idea of about bugs statistics
To gain the knowledge path testing
Obtaining the knowledge of path
predicates and predicate expressions
To know about flow graphs
Knowing about resolving techniques
To know about real time application of
path testing
To learn about Transaction Flow
Testing
To know about transaction flow testing
techniques
To get an idea about data and its flow
of control
To learn about data flow testing
strategies
To make an idea that how to apply and
learn about tools & their effectiveness
Extracting the idea of Domain Testing
Getting the knowledge of good and
bad domains
To know the idea of domain testing
To variate domain and interface
testing
Knowing of about testability
To apply the knowledge of Paths
To know various techniques of paths
To make the record of various
anomalies and to detect them
To know the Logic based testing
To make the decision tables
Recalling the concepts of path
expressions
Reminding the concept of Digital Logic

Topics to be covered

Reference

Introduction to testing, Purpose of


testing, Goals of testing
some dichotomies

T1: 1-9

A model for testing


The consequences of bugs
taxonomy for bugs
Some bug statistics.
Path testing basics
Predicates, path predicates

T1: 15-22
T1: 27-33
T1: 33-55
T1: 56
T1:59-91
T1:92-95

Achievable paths
Path sensitizing, Path
instrumentation
Implement and application of path
testing.
Transaction flows

T1:98-99
T1:101-113

Transaction flow testing techniques

T1:133-139

Dataflow testing basics

T1:145-157

Data flow testing strategies

T1:161-167

Application, tools and effectiveness

T1:168

Domains and paths


Nice and ugly domains

T1:173-179
T1:182-188

Domain testing
Domains And Interfaces Testing

T1:192-201
T1:202-206

Domains And Testability


Path products and path expressions
Reduction procedure
Regular expressions and flow
anomaly detection
Motivational overview
Decision tables
path expressions again

T1:207-210
T1: 244-250
T1:251-256
T1:278-281

KV charts

T1:343-352

T1: 9-14

T1:115-117
T1:122-131

T1:320-322
T1:322-329
T1:332-341

37
38-39
40
41
42
43
44
45
46-47
48-49
50
51-52
53-54
55
56-57
58
59
60

XI.

Design and KV charts


To know the specifications
Learning about state graphs
Differentiating good and bad state
graphs
To know about states and their testing
capabilities
Gaining the knowledge of various
testability tips
Graph Matrices And Applications
Obtaining the knowledge of matrix in
testing
Finding out the relations of matrix
Knowing the powers of a matrix
Getting the principles of node
reduction algorithm
Learning about building tools
Case study of win runner and knowing
about functional/regression testing
Case study of QTP and knowing about
functional/regression testing
Real time application of Win Runner
Real time application of Quick Test
Professional
To make a report of test case
templates
Gathering the case study of datadriven testing
Apply testing to any of the web
application

Specifications
State graphs
Good and bad state graphs

T1:352-357
T1:364-369
T1:373-386

State testing

T1:387-390

Testability tips

T1:391-394

Motivational overview
The matrix of a graph

T1:397-398
T1:399-401

Relations
Powers of a matrix
Node reduction algorithm

T1:402-405
T1:405-414
T1:415-420

Building tools
Overview of win runner for
functional /regression testing
Overview of QTP testing tools for
functional /regression testing
Testing an application using win
runner
Testing an application using QTP

T1:421-426
T2:111

Synchronization of test cases

T2:351

Data driven testing

T2:374-390

Testing a web application.

T1:411-418

T2:331
T2:112-129
T2:333

Mapping course objectives leading to the achievement of the program outcomes:


Course
Objectives
I

Program Outcomes
a

III

IV

H
H

VI
VII

II

H
H

H
S = Supportive

H = Highly Related

XII.

Mapping course outcomes leading to the achievement of the program outcomes:


Program Outcomes

Course
Outcomes

S
H

10

S
S = Supportive

Prepared By

Mr. Vinod Bhupathi

Date

28 June, 2014

H
H = Highly Related

You might also like