Diploma in Computer Science & Engineering Sixth Semester Software Testing

Courtly: DTE Board
Govt. of Karnataka, Department of Technical Education
Diploma in Computer Science & Engineering

Sixth    Semester

Subject: Software Testing
 
Contact Hrs / week: 4                                         Total hrs: 64

Table of Contents

SN
Chapter
Hours
Marks
1
Introduction
2
5
2
Fundamentals of testing
10
25
3
Testing levels and types
10
25
4
Static testing techniques
10
25
5
Dynamic testing and test case design techniques
10
25
6
Managing the testing process
8
20
7
Software testing tools
4
10
8
Code of ethics for software professionals
2
5

Seminars, Guest Lectures and other innovation interactions
5


Tests
3


                                                  Total
64
140+5   (Objective Type)









Detailed Contents

1


Introduction

1.1

Power of software

1.2

Challenges in software projects

1.3

Software Fiascos


1.3.1
Ariane 5


1.3.2
Patriot Missile


1.3.3
Mars Pathfinder


1.3.4
CT Scanner


1.3.5
The great bank robbery


1.3.6
FBI Virtual case file

1.4

Reasons for software failure

1.5

What is the solution?


1.5.1
Software Quality Assurance


1.5.2
Software Testing


1.5.3
Code of Ethics

1.6

Software Testing Professionals


1.6.1
Skill sets for Testing Professionals


1.6.2
Tasks handled by Testing Professionals




2


Fundamentals of Testing

2.1

What is Testing?


2.1.1
Testing versus Debugging


2.1.2
Testing and Bebugging


2.1.3
Verification and Validation


2.1.4
Root Cause Analysis

2.2

Significance of Testing


2.2.1
Cost of Quality

2.3

Psychology of Testing

2.4

Testing Choices


2.4.1
In-house Testing


2.4.2
Outsourcing

2.5

Who does the testing?


2.5.1
Developers as Testers


2.5.2
Independent team Testing


2.5.3
Buddy Testing

2.6

Testing Phases


2.6.1
V Model


2.6.2
Testing and Life cycle models

2.7

Testing the Systems

2.8

Testing the Strategies


2.8.1
Static Testing


2.8.2
Dynamic Testing


2.8.3
Why testing is difficult?


2.8.4
Test Case


2.8.5
Test Oracle


2.8.6
Test Software


2.8.7
Manual versus Automated Testing


2.8.8
Testing Software of different Technologies

2.9

Metrics in Testing Phase

2.10

When Testing is Complete?


2.10.1
Criteria for Completion of Testing

2.11

Risk-based Testing


2.11.1
Types of risks

2.12

The Myths and Realities of Testing




3


Testing Levels and Types

3.1

Testing Levels


3.1.1
Unit/Component Testing


3.1.2
Module Testing


3.1.3
Integration Testing


3.1.4
System Testing


3.1.5
Acceptance  Testing

3.2

Testing Approaches


3.2.1
Static Testing vs Dynamic Testing


3.2.2
Positive Testing vs Negative Testing


3.2.3
Top-down Testing vs Bottom-up Testing


3.2.4
Functional Testing vs Structural Testing


3.2.5
Mutation Testing


3.2.6
Confirmation Testing


3.2.7
Regression Testing

3.3

Types of Testing


3.3.1
Smoke Testing


3.3.2
Black Box Testing


3.3.3
White Box Testing


3.3.4
Interface Testing


3.3.5
Use Case Testing


3.3.6
Gorilla Testing


3.3.7
Alpha Testing


3.3.8
Beta Testing


3.3.9
Field Trail / Operational Testing


3.3.10
Performance Testing / Load Testing


3.3.11
Stress Testing


3.3.12
Accessibility Testing


3.3.13
Conformance Testing


3.3.14
Internationalization Testing


3.3.15
Security Testing


3.3.16
Maintenance Testing


3.3.17
Acceptance Testing


3.3.18
Documentation Testing




4


Static Testing Techniques

4.1

Static Testing


4.1.1
Advantages of Static Testing

4.2

Manual Reviews


4.2.1
Formal Review Process


4.2.2
Informal Reviews


4.2.3
Walkthroughs


4.2.4
Inspections


4.2.5
Making Reviews Successful


4.2.6
Checklists

4.3

Formal Code Reviews


4.3.1
Coding Guidelines


4.3.2
Programming style


4.3.3
C Coding Guidelines


4.3.4
Code Optimization


4.3.5
Java Coding Guidelines

4.4

Static Analysis using Tools


4.4.1
Tool for Readability Improvement / Indenting


4.4.2
Portability Testing Tool


4.4.3
Symbolic Execution




5


Dynamic Testing and Test case design Techniques

5.1

Dynamic Testing

5.2

Review work products

5.3

Identify Test Objectives

5.4

Test Specifications and Test Design

5.5

Design Test Cases


5.5.1
Black Box Test Case Design Techniques


5.5.2
White Box Test Case Design Techniques


5.5.3
Experience-based  Test Case Design Techniques


5.5.4
Case Study #1 : Test Cases for an IVR System


5.5.5
Case Study #2 : Test Case for Finger Print Recognition System

5.6

Document Test Cases

5.7

Execute Test Cases

5.8

Generate Incident Report / Anomaly Report

5.9

Log the Defects

5.10

Test Documentation Standards

5.11

Formal Methods of Testing




6


Managing the Testing Process

6.1

Management Commitment


6.1.1
Organization Structure

6.2

Testing Process management


6.2.1
Options for Managers


6.2.2
Testing Process Management Activities

6.3

Planning, Budgeting and Scheduling the Testing Phase


6.3.1
Test Plan

6.4

Alignment of the Process to the Project

6.5

Team Formation

6.6

Infrastructure


6.6.1
Testing Tools

6.7

Reviewing, Monitoring and Risk Management


6.7.1
Risk Management


6.7.2
Test Reports

6.8

Metrics


6.8.1
Software Reliability

6.9

Defect tracking


6.9.1
Classification of Defects

6.10

Configuration Management

6.11

Test Closure and Process Improvement


6.11.1
Software testing Maturity Model (SW-TMM)

6.12

Information Security




7


Software Testing Tools

7.1

Need for Tools

7.2

Classification of Tools


7.2.1
Functional / Regression Testing Tools


7.2.2
Performance / Load Testing Tools


7.2.3
Testing Process Management Tools

7.3

Benefits of Tools

7.4

Risks Associated with the Tools

7.5

Does your Organization Need Tools?

7.6

Selecting Tools

7.7

Introducing the tools in the Testing Process




8


Code of Ethics for Software Professionals

8.1

Human Ethics

8.2

Professional Ethics

8.3

Ethical Issues in Software Engineering

8.4

Code of Ethics and Professional Practice


8.4.1
Software Engineering Code of Ethics and Professional Practice

8.5

Ethical issues: Right versus Wrong


Text book:
ISTQB Certification Study Guide, Dr. K.V.K.K. Prasad, Wiley-Dreamtech Press, ISBN: 9788177227116
Reference Books:
  1. Software Testing Principles and Practices, Srinivasn desikan, Goplaswamy Ramesh, Pearson, ISBN: 9788177581218
  2. Software Testing Tools, Dr. K.V.K.K. Prasad, Wiley- Dreamtech Press, ISBN 10: 8177225324
ISBN 13: 9788177225327
  1. Software Testing Concepts and Tools, Nageshwara Rao Pusuluri, DreamTech, ISBN 10: 8177227122    ISBN 13: 9788177227123


General Objectives:
After the completion of the study of this subject students should be able to
  1. Importance of developing quality software and how software testing helps in achieving this goal.
  2. Foundations of software testing, important concepts and the testing process
  3. Understand Testing levels and testing methods
  4. Study Static testing – how to carry out testing without executing the code
  5. Learn about dynamic testing and Test case design techniques. How to do the testing after executing the program and how to design test cases with examples
  6. Know the details of Managing the testing Process
  7. Know the need for testing tools and how to select a tool.



Specific Objectives
1
Introduction

Importance of software

The challenges in Software development

The software fiascos

Reasons for software failures

How to avoid software failures?

Testing professional’s role

Skills required for testing professionals


2
Fundamentals of testing

What is testing?

Psychology of testing

When to test and where to test?

How to test?

Test case and test oracles

Metrics in testing phases

Criteria for completion of testing

Myths and realities of testing


3
Testing Levels and Types

Levels of Testing

Testing approaches

Types of testing


4
Static Testing Techniques

What is static testing?

Advantages of static testing

Difference between static testing and dynamic testing

Review mechanisms and formal review process

Checklists

Static code review and coding guidelines for C and Java


5
Dynamic Testing and Test case design Techniques

Dynamic testing methodology

Test specifications and test design

Techniques for test case design

Test case documentation

Test case execution and incident reporting

Defect logs


6
Managing the Testing Process

Testing process management activities

Project planning, budgeting and scheduling

Testing team formation

Reviews and monitoring of projects

Risk management

Metrics in testing phase

Defect racking

Configuration management

Testing process improvement

Testing standards and information security testing


7
Software Testing Tools

Appreciate the need for automated testing tools

Understand the requirements of testing tools

Get to know the various categories of testing tools and their functionality

Learn how to select a testing tool

Learn the process of introducing the tools in an organization


8
Code of Ethics for Software Professionals

What is Professional ethics?

Ethical issues for software professionals

Code of ethics and professional practices for software professionals


Related Posts Plugin for WordPress, Blogger...