|
Software
Testing
v
The Evolving Role of Software
Ø
Software
Characteristics
Ø
Software
Applications
§
What is Software
Engineering
§
Why Software
Engineering
v
The Process
Ø
The Software
Process Models
§
Sequential Model
·
Waterfall Model
·
V – Model
§
Iterative Model
§
RAD Model
§
Formal Methods
Model
v
The Project Management Concepts
Ø
Management Spectrum
§
The People
§
The Product
§
The Process
§
The Project
v
Phases in Software Development Life Cycle
Ø
Software
Requirements Engineering
Ø
Software Design
Ø
Software
Implementation
Ø
Testing
Ø
Maintenance
v
Risk Analysis and Management
Ø
Software Risks
§
Risk Identification
·
Accessing Overall
Project Risk
·
Risk Components and
Drivers
§
Risk Projection
·
Developing a Risk
Table
·
Assessing Risk
Impact
·
Risk Assessment
§
Risk Refinement
§
Risk Mitigation,
Monitoring and Management
(RMMM)
v
Software Configuration Management
Ø
The Software
Configuration Management Process
Ø
Identification of
Objectives of the Software Configuration
Ø
Version Control
Ø
Change Control
Ø
Configuration Audit
Ø
Status Report
Ø
SCM Standards
v
Software Projects and Process Metrics
Ø
Project Metrics
Ø
Software
Measurements
§
Size – oriented
Metrics
§
Function – oriented
Metrics
§
Extended Function
Point Metrics
§
Metrics of Software
Quality
·
Measuring Quality
·
Defect removal
Efficiency
v
Software Quality Assurance
Ø
Quality Concepts
§
Quality
§
Quality Assurance
§
Quality Control
§
Cost of Quality
Ø
Software Quality
Assurance
§
Background Issues
§
SQA Activities
Ø
Software Reviews
§
Cost Impact of
Software Defects
§
Defect
Amplification and Removal
Ø
Formal Technical
Reviews
§
The Review Meetings
§
Review Reporting
and Record Keeping
§
Review guide lines
Ø
Formal Approaches
to SQA
Ø
Software
Reliability
§
Measurements of
Reliability and Availability
§
Software Safety
Ø
The ISO 9000
Quality Standards
§
ISO – Approach to
QA Systems
§
The ISO – 9001
Standards
§
Time Table for ISO
– 9000 Certification
Ø
Software Testing Techniques
§
Software Testing
Fundamentals
·
Testing Objectives
·
Testing Principles
·
Testability
§
Test Case Design
§
White – Box Testing
·
Basis Path Testing
·
Flow Graph Notation
·
Cyclomatic
Complexity
·
Deriving Test Cases
·
Control Structure
Testing
¨
Condition Testing
¨
Data Flow Testing
¨
Loop Testing
§
Black Box Testing
·
Graph – Based
Testing Methods
·
Equivalence
Partitioning
·
Boundary Value
Analysis
·
Comparison Testing
§
Testing for
Specialized Environments, Architectures, Applications
·
Testing GUI’s
·
Testing Client
Server Architectures
·
Testing
Documentation and Help Facilities
·
Testing for Real –
Time Systems
§
A strategic
Approach to Software Testing
·
Verification and
Validation
·
Organizing for
Software
·
A software Testing
Strategy
·
Criteria of
completion
§
Strategic Issues
§
Unit Testing
·
Unit Test
Considerations
·
Unit Test
Procedures
§
Integration Testing
·
Top – Down
Integration
·
Bottom – Up
Integration
·
Regression testing
·
Smoke Testing
·
Comments on
Integration Testing
·
Integration Testing
Documentation
§
System Testing
·
Recovery Testing
·
Security Testing
·
Installation
Testing
·
Functional Testing
·
Functionality
Testing
·
Internationalization
Testing
·
Stress testing
·
Performance Testing
§
Web Applications
Testing
§
Overall Client
Server Testing Strategy
§
Limitations of
Manual Testing
§
Test Process
·
Fundamental Test
Process
·
Test Planning
·
Test specification
¨
Phases of Test
Specification
¨
Test Case
Investigation
¨
Test Script
Creation
·
Test Execution
¨
Preparation of Test
Execution
¨
Execution of Tests
·
Testing Logging
¨
Test Security
¨
Test Outcome
Documentation
·
Verification of
Test Completion Criteria
§
Testing Techniques
·
Functional Testing
·
Non – Functional
Testing
§
Deviation
Management
§
Test Automation
·
Test Tools
¨
Quick Test
Professional
¨
Load Runner
¨
BugZilla
(Test
Management Tool)
¨
Unit/Regression
Test Frame Works
Ø
JUnit
Ø
JTestCase
v
Software Testing Tools:
Ø
An Overview o Need
for Automated Testing Tools
§
Taxonomy of Testing
Tools
§
Functional/Regression
Testing Tools
§
Performance Testing
Tools
§
Testing Management
Tools
§
Source Code Testing
Tools
§
How to Select a
Testing Tools?
v
LoadRunner
§
Overview of
LoadRunner
§
Creating Vuser
script using Virtual User Generator
§
Creating Virtual
Users Using LoadRunner Controller
v
QuickTest Professional (QTP)
Ø
Overview of
QuickTest Professional
Ø
Testing an application using QTP
·
Recording a Test
Case
·
Running the Test
Case
§
Synchronization of
Test Cases
·
Creating
Checkpoints
·
Testing Database
Application using Synchronization and Checkpoints
Ø
Data Driven Testing
v
BugZilla
(Test
Management Tool)
Ø
Introduction
Ø
Create a BugZilla
Account
Ø
Anatomy of a Bug
Ø
Life Cycle of a Bug
Ø
Searching for Bugs
Ø
Bug Lists
Ø
Filing Bugs
Ø
Patch Viewer
Ø
Hints and Tips
Ø
User Preferences
Ø
Reports and Charts
Ø
Flags
Ø
Whining
v
JUnit (Unit/Regression Test framework)
Ø
Introducing Junit
Ø
Using JUnit within
Eclipse
Ø
Assertions in Test
Case
Ø
Composing Test
cases
Ø
Combining Test
suits
Ø
Showing Test
Results
v
JTestCase (unit/Regression Test framework)
Ø
Introducing
JTestcase
Ø
How Jtestcase works
Ø
Access to Test Data
Ø
Do Assertions
Ø
Assert Actions
v
Networking Concepts – TCP/IP Architecture
Ø
Identify TCP/IP
services.
Ø
Examine the TCP/IP
architecture.
Ø
Identify how
Internet Protocol (IP) runs over various lower layer technologies.
Ø
Identify the
principles followed for IP addressing.
v
Scripting Languages – PERL
Ø
Overview
§
Features
§
Applications
§
Implementation
§
Availability
Ø
Language structure
§
Comments
§
Example Program
§
Data types
§
Control structures
§
Subroutines
§
Regular expressions
§
Database interfaces
Ø
Comparative
performance
Ø
Future
Ø
Fun with PERL
v
Unix fundamentals and Basic Commands
Ø
Introduction to
UNIX
Ø
The UNIX File
system
Ø
Accessing Files
Ø
Redirection
Ø
File Management
Ø
Permissions
Ø
Linking files
Ø
Sorting the
Contents of Files
Ø
Other Unix File
Utilities
Ø
Combining Unix
Commands and Utilities
Ø
Finding Files and
Finding patterns in files
Ø
The Unix editors
Ø
Processes
Ø
Shell Script Basics
v
Apache Web Server in Unix Environment
Ø
THE BASICS
§
Installing Apache.
§
Configuring Apache.
§
Starting,
Restarting, and Stopping.
Ø
ADMINISTRATION.
§
Hosting Multiple
Sites.
§
Proxy Servers and
Caching.
§
Logs and
Monitoring.
§
Security.
|