Upload
venkateswararao-siddabathula
View
12.760
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Introduction & Manual Testing
• Software Development Life Cycle
• Software Life Cycle Models Water Fall Model Prototype Model Rapid Application Model Spiral or Iterative Model Component Assembly Model
1
•Testing FundamentalsTesting ObjectivesTesting Information FlowTest Case Design
•White Box TestingBasis Path TestingFlow Graph NotationCyclomatic ComplexityDeriving Test CasesGraphic Metrics
2
Control Structure TestingConditions TestingDataflow TestingLoop Testing
Black Box TestingEquivalence PartitioningBoundary Value AnalysisComparision TestingVerification and ValidationDifferent Kinds of tests to be considered
•SEI, CMM, ISO, IEEE, ANSI
3
SDLC Model (or)Linear Sequential Model (or) Classic Life Cycle Model
System/Information Engineering and ModelingSoftware Requirements AnalysisSystem Analysis and DesignCode GenerationTesting Maintenance
4
Quality. Quality Assurance, And Quality Control Quality is meeting the requirements expected of the software,
consistently and predictably.
Quality Assurance
• Concentrates on the process of producing the products.
• Defect-prevention oriented.• Usually done throughout the life
cycle.• This is usually a staff function.• Examples : Reviews and Audits
Quality Control
• Concentrates on specific products.• Defect-detection and correction
oriented.• Usually done after the product is
built.• This is usually a line function.• Examples : Software testing at
various levels.
5
Testing, Verification, And Validation
• Testing is the phase that follows coding and precedes deployment.
• Verification is the process of evaluating a system or component to determine whether the products of a given phase satisfy the conditions imposed at the start of that phase.
• Validation is the process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specified requirements.
6
Quality Assurance = Verification
Quality Control = Validation = Testing
7
Waterfall Model
A Waterfall Model is Characterized by three attributes.
1.The project is divided into separate distinct phases.
2.Each phase communicates to the next through pre-specified outputs.
3.When an error is detected, it is traced back to one previous phase at a time, until it gets resolved at some earlier phase.
8
Overall business requirements.
Software requirements.
Planning.
High-level design.
Low-level design.
Coding.
Testing.9
Prototyping Model
• A Prototyping model uses constant user interaction, early in the requirements gathering stage, to produce a prototype.
• The proto-type is used to derive the system requirements specification and can be discarded after the SRS is built.
• An appropriate life cycle model is chosen for building the actual product after the user accepts the SRS.
10
Rapid Application Model
• The RAD is a linear sequential software development process that emphasizes an extremely short development cycle. It includes the following phases.
Business Modeling.Data Modeling.Process Modeling.Application Generation.Testing and Turnover.
11
Spiral or Iterative Model
• Most life cycle models can be derived as special cases of this model. The Spiral uses a risk management approach to software development. Some advantages of this model are:
Defers elaboration of low risk software elements. Incorporates prototyping as a risk reduction strategy. Gives a early focus to reusable software. Accommodates life-cycle evolution, growth, and requirement
changes. Incorporates software quality objectives into the product. Focus on early error detection and design flaws. Uses identical approaches for development and maintenance.
12
Component Assembly Model
• Object technologies provide the technical framework for a component-based process model for software engineering.
• The object oriented paradigm emphasizes the creation of classes that encapsulate both data and the algorithm that are used to manipulate data.
• If properly designed and implemented, object oriented classes are reusable across different applications and computer based system architecture.
• Component Assembly Model leads to software reusability.• The integration/assembly of already existing software
components accelerate the development process.
13
Testing Fundamentals
Testing Objectives• Testing is the process of executing a program with
the intent of finding errors.
• A good test is one that has a high probability of finding an as yet undiscovered error.
• A successful test is one that uncovers an as yet undiscovered error.
14
Test Information Flow
15
Testing
Reliability
model
Evaluation
Debug
Software Configuration
Test Configuration
Corrections
Predicted Reliability
Error Rate Data
Expected results
Test ResultsErrors
Test Case Design
• Can be difficult at the initial stage.• Can test if a component conforms to
specification – Black Box testing.• Can test if a component conforms to design –
White Box Testing.
Testing can not prove correctness as not all execution paths can be tested.
16
White Box Testing
Testing control structures of a procedural design. Can derive test cases to ensure:
• All independent paths are exercised at least once.• All logical decisions are exercised for both true and
false paths.• All loops are executed at their boundaries and within
operational bounds.• All internal data structures are exercised to ensure
validity.
17