SOFTWARE TESTING - I
• • • •
Software Testing – Introduction Quality Principles Software Process SDLC (Software Development Life Cycle) • Project Management
2 / 50
• • • • • • • Requirement Management Configuration Management Software Testing Fundamentals Testing Policy Vs Quality Policy Testing Economics and Testing Cost Testing Levels Testing Techniques
3 / 50
• • • • • •
Test Maturity Criteria Verification Process Test Level Model Special Test Types Test Standards Testing Process
4 / 50
Structural Testing (White Box testing)
Functional Testing (Black Box testing)
Nothing else but functioning
5 / 50
• Testing A Process of evaluating a particular product to determine whether the product contain any defects • Software Testing Software Testing is a process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements or identify differences between expected and actual results.
6 / 50
7 / 50
• Why Software Testing ?
Error Free Efficient Secured Flexible
Software Testing is important as it may cause mission failure. impact on operational performance and reliable if not done properly.
8 / 50
Quality is defined as meeting the Customer’s requirements in the First time and Every time.
Quality is much more than the absence of defects. which allows us to meet customer’s expectations.
There are five perspective of quality.
• Critical Quality Attributes
– – – – Maintainability Dependability Efficiency Usability
• Other Attributes
– – – – – – – – – – Completeness Compatibility Portability Internationalization Understandability Scalability Robustness Testability Reusability Customizability
9 / 50
Product based. • 2.possesses desired features • 3. Value based – At an acceptable cost.SKYTECH SYSTEMS
Five perspective of quality
• 1. Development and manufacturing based – Confirms to requirements. User based – Fitness for use. • 4. • 5. Transcendent-I know when I see it.
10 / 50
Quality is the way to achieve improved productivity and competitiveness in any organization.SKYTECH SYSTEMS
Quality is the most important factor affecting an organization's long-term performance.
11 / 50
Failure costs : This cost associated with defective products that have been delivered to the user or moved into production. 3. 2.
12 / 50
. Prevention cost : Money required to prevent errors and to do the job right the first time. Appraisal costs : Money Spent to review completed product against requirement.SKYTECH SYSTEMS
Cost of Quality
• The three categories of costs associated with producing quality products are
process oriented (Software development) .SKYTECH SYSTEMS
Quality Assurance Vs Quality Control
• Quality Assurance .Product Oriented (quality of the entire product is checked or tested) .Defect detection 13 / 50 SOFTWARE TESTING
.Defect prevention (Identify & Rectify) • Quality Control .
generally involving a number of steps or operations is a process.SKYTECH SYSTEMS
A particular method of doing some thing.
14 / 50
The process that deals with the technical and management issues of software development is called Software Process.
is a development project in which a software process is used.
15 / 50
. on the other hand.SKYTECH SYSTEMS
• Process – Projects – Products A software process specifies a method of developing software. A Software product is the outcome of a software project. A software project.
Planning & Designing
Coding & Production
Testing & Evaluating
16 / 50
• Check : Check the results.
17 / 50
. Check to determine whether work is progressing according to the plan and whether the results are obtained. Define your objective and determine and strategy and supporting methods required to achieve that objective. Create the conditions and perform the necessary training to execute the plan.SKYTECH SYSTEMS
• Plan : Device a plan. • Do : executive the plan.
SDLC (SOFTWARE DEVELOPMENT LIFE CYCLE)
• Overview of Software Development Activities • Introduction to Various Lifecycles
18 / 50
• Team Organization Deliverable Turn-in
– Project Assignments to be posted on the website
• Introduction to Software Development Activities • Survey of Lifecycle Models
19 / 50
• Layered Technology
– Key Process Areas
Methods Process Quality
20 / 50
Capability Maturity Model
• Developed by SEI(Software Engineering Integration) • Five Process Maturity Levels
– – – – – – Level 0: Level 1: Level 2: Level 3: Level 4: Level 5: Chaos Initial Repeatable Defined Managed Optimizing
21 / 50
to produce intermediate and final products • May be composed of sub-processes • Each activity has entry and exit criteria • Activities are organized in a sequence • Has a set of guiding principles to explain goals • Constraints may apply to activity. resource or product
22 / 50
• Prescribes all major activities • Uses resources. within a set of constraints.
• The six Stages of SDLC process are
Requirement Analysis Design Development Testing Implementation Maintenance
23 / 50
• SRS(Software Requirement Specification) is the primary output of this phase.
24 / 50
• Study done by organization against customer’s requirement is documented as SRAS( software requirement analysis specification)
• The main objective of the requirements analysis is to produce a document that properly specifies all requirements of the customer.
• Decompose entire project into units / modules and prepare dataflow diagram and communication. • CDD(Comprehensive Design Document)
= HCL + LLD Design Process High Level Design
Low Level Design
25 / 50
26 / 50
• High-Level Design (system Design)
– High-level design is the phase of the life cycle when a logical view of the computer implementation of the solution to the customer requirements is developed.
27 / 50
. Logic design is done for every program.SKYTECH SYSTEMS
• Low Level Design (Detailed Design)
– During the detailed design phase. the view of the application developed during the high level design is broken down into modules and programs.
the detailed design is used to produce the required programs in a programming language. executable. • This stage produces the source code.
28 / 50
Coding and unit testing
• During the build phase. and databases applicable.
• Unit testing
• Integration testing • System testing
• DYNAMIC (Execution)
29 / 50
• Integration is a systematic approach to building the complete software structure specified in the design from unit-tested modules. • Integration plan must specify the order in which the modules are integrated.
30 / 50
31 / 50
. • This stage is intended to find defects that can be exposed only by testing the entire system.SKYTECH SYSTEMS
• System testing is an activity to validate the software product against the requirement specification.
• The two basic tasks.SKYTECH SYSTEMS
Acceptance and Installation
• Acceptance and installation is the phase in the software life cycle during which a software product is integrated into its operational environment and tested in this environment to ensure that it performs as required.
32 / 50
.getting the software accepted and installing the software at the customer site.
• Project Management is nothing but organising.ans scheduling software projects. Planning.
– – – – Project staffing Project planning Project scheduling Project monitoring
33 / 50
• 4. Risk identification : Identify project. Risk monitoring : Monitor the risks throughout the project
34 / 50
. Risk planning : Draw up plans to avoid or minimize the effects of the risk.SKYTECH SYSTEMS
Software Risks • 1. • 3. • 2. product and business risks. Risk analysis : Assess the likelihood and consequences of these risks.
• Internal changes may be due to requirements. testing. maintenance
35 / 50
• Requirements management is managing changes in the evolving software in a cost effective manner. design. implementation. Changes may come externally or internally. • External changes may be due to problem.customer. environment.
• Standards and procedures for managing changes in an evolving software product is configuration management. • Software systems are sometimes called baselines as they are a starting point for further development. • New versions of software systems are created as they change for different machines/OS. offering different functionality.
36 / 50
Ensure that version management procedures and tools and properly applied.
37 / 50
. Plan and distribute new system releases.SKYTECH SYSTEMS
Verification and release management
• Invent identification scheme for system versions plan when new system version is to be produced.
• Release : An instance of a system. • Variant: An instance of a system. which is distributed to users outside of the development team.SKYTECH SYSTEMS
• Version : An instance of a system. which is functionally distinct in some way from other system instances. which is functionally identical but non-functionally distinct from other instances of a system.
38 / 50
1.1b V 1.2
V 2.SKYTECH SYSTEMS
Version derivation structure
39 / 50
Software Testing Fundamentals
• Primary role of software testing?
determine whether the system meets specification (producer view) determine whether the system meets business and user needs (customer view).
40 / 50
Variance from customer/user expectation.SKYTECH SYSTEMS
• What is Defects ?
– The purpose of testing is to find defects.
2. Two categories of defects are 1.
41 / 50
. Variance from product specifications. A defect is a variance from a desired product attribute.
(correctly mentioned in specification but wrongly implemented) • 2. an indication that the specification was not implemented. ( given in specification but missed out in application) • 3.SKYTECH SYSTEMS
• 1. but may the user of the product desire an attribute. This is always a variance from specifications. This defect is a variance from customer / user specification. This can be a variance from specification. Wrong : The specifications have been implemented incorrectly. Extra : A requirement incorporated into the product that was not specified. (any thing that dissatisfies)
42 / 50
. Missing : A specified or wanted requirement is not in the built product.
– Positive test case – negative test case A test case is said to be effective only when both positive and negative cases are prepared.
43 / 50
• Set of procedures written by a tester which execute in our system to find defect.
Testing Economics & Cost
Traditional Testing Accumulated Test cost 0 Error Remaining 20
Requirement Design Code Testing
Continuous Testing Accumulated Error Remaining 10 Test cost $ 10
0 $ 480 $1690
60 12 0
18 4 0
$ 42 $ 182 $ 582
44 / 50
• Unit Testing
• Integration Testing • System Testing • Acceptance Testing
45 / 50
• To minimize the ration of defects before moving to next level
46 / 50
. Advantage : • To catch the defects that occurs at the early stage of software development.SKYTECH SYSTEMS
• Unit testing is a testing in which the individual unit of the software are tested in isolation from other parts of a program.
Big Bang Testing Bottom Up Testing Top Down Testing
47 / 50
• Integration testing refers to the testing in which software units of an application combined and tested for a communication interfaces between them.
6 Module .2
System Module .4
48 / 50
.5 Module .1 Module .3
Module .SKYTECH SYSTEMS
Big Bang Testing
Big Bang Testing
• A type of integration in which software components of an application are combined all at once into a overall system according to this approach Advantage : • To check the data flow from one module to another • Communication between various modules is checked
49 / 50
the lower level model is tested in isolation first. all modules are added or combined from lower level hierarchy to higher level hierarchy I.
50 / 50
• Bottom-up Integration testing :
In bottom up integration.e. then the next set of higher level modules are tested with the previously tested lower modules. • Worker modules are grouped into builds and integrated..