Escolar Documentos
Profissional Documentos
Cultura Documentos
Contents
Software Testing Introduction Quality Principles Software Process SDLC (Software Development Life Cycle) Project Management
SOFTWARE TESTING
2 / 50
Contents
Requirement Management Configuration Management Software Testing Fundamentals Testing Policy Vs Quality Policy Testing Economics and Testing Cost Testing Levels Testing Techniques
SOFTWARE TESTING
3 / 50
Contents
Test Maturity Criteria Verification Process Test Level Model Special Test Types Test Standards Testing Process
4 / 50
SOFTWARE TESTING
Software Testing
STATIC
DYNAMIC
Logical Errors
SOFTWARE TESTING
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.
SOFTWARE TESTING
6 / 50
SOFTWARE TESTING
7 / 50
QUALITY PRINCIPLES
Quality is defined as meeting the Customers requirements in the First time and Every time.
Quality is much more than the absence of defects, which allows us to meet customers expectations.
8 / 50
Software Quality
Critical Quality Attributes
Maintainability Dependability Efficiency Usability
Other Attributes
Completeness Compatibility Portability Internationalization Understandability Scalability Robustness Testability Reusability Customizability
SOFTWARE TESTING
9 / 50
10 / 50
Why Quality?
Quality is the most important factor affecting an organization's long-term performance. Quality is the way to achieve improved productivity and competitiveness in any organization.
SOFTWARE TESTING
11 / 50
Cost of Quality
The three categories of costs associated with producing quality products are
1. Prevention cost : Money required to prevent errors and to do the job right the first time. 2. Appraisal costs : Money Spent to review completed product against requirement. 3. Failure costs : This cost associated with defective products that have been delivered to the user or moved into production.
SOFTWARE TESTING
12 / 50
Software Process
A particular method of doing some thing, generally involving a number of steps or operations is a process.
The process that deals with the technical and management issues of software development is called Software Process.
SOFTWARE TESTING
14 / 50
Software Process
Process Projects Products A software process specifies a method of developing software. A software project, on the other hand, is a development project in which a software process is used. A Software product is the outcome of a software project.
SOFTWARE TESTING
15 / 50
PLAN
Necessary Actions
ACT
DO
CHECK
Testing & Evaluating
SOFTWARE TESTING
16 / 50
Plan : Device a plan. Define your objective and determine and strategy and supporting methods required to achieve that objective. Do : executive the plan. Create the conditions and perform the necessary training to execute the plan. Check : Check the results. Check to determine whether work is progressing according to the plan and whether the results are obtained.
SOFTWARE TESTING
17 / 50
SOFTWARE TESTING
18 / 50
Agenda
Team Organization Deliverable Turn-in
Project Assignments to be posted on the website
SOFTWARE TESTING
19 / 50
Software Engineering
Layered Technology
Key Process Areas
Tools
Methods Process Quality
SOFTWARE TESTING
20 / 50
SOFTWARE TESTING
Process Principles
Prescribes all major activities Uses resources, within a set of constraints, 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
SOFTWARE TESTING
22 / 50
SOFTWARE TESTING
23 / 50
Requirement Analysis
Study done by organization against customers 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. SRS(Software Requirement Specification) is the primary output of this phase.
SOFTWARE TESTING
24 / 50
Design Process
Decompose entire project into units / modules and prepare dataflow diagram and communication. CDD(Comprehensive Design Document)
= HCL + LLD Design Process High Level Design
HCD
LLD
SOFTWARE TESTING
25 / 50
HLD
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.
SOFTWARE TESTING
26 / 50
LLD
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. Logic design is done for every program.
SOFTWARE TESTING
27 / 50
28 / 50
Testing
Unit testing
STATIC(Reviewing)
DYNAMIC (Execution)
SOFTWARE TESTING
29 / 50
Integration testing
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.
SOFTWARE TESTING
30 / 50
System Testing
System testing is an activity to validate the software product against the requirement specification. This stage is intended to find defects that can be exposed only by testing the entire system.
SOFTWARE TESTING
31 / 50
SOFTWARE TESTING
32 / 50
Project Management
Project Management is nothing but organising, Planning,ans scheduling software projects.
Project staffing Project planning Project scheduling Project monitoring
SOFTWARE TESTING
33 / 50
Risk Management
Software Risks 1. Risk identification : Identify project, product and business risks. 2. Risk analysis : Assess the likelihood and consequences of these risks. 3. Risk planning : Draw up plans to avoid or minimize the effects of the risk. 4. Risk monitoring : Monitor the risks throughout the project
SOFTWARE TESTING
34 / 50
Requirements Management
Requirements management is managing changes in the evolving software in a cost effective manner. Changes may come externally or internally. External changes may be due to problem,customer, environment. Internal changes may be due to requirements, design, implementation, testing, maintenance
SOFTWARE TESTING
35 / 50
Configuration Management
Standards and procedures for managing changes in an evolving software product is configuration management. New versions of software systems are created as they change for different machines/OS, offering different functionality. Software systems are sometimes called baselines as they are a starting point for further development.
SOFTWARE TESTING
36 / 50
SOFTWARE TESTING
37 / 50
version/variants/releases
Version : An instance of a system, which is functionally distinct in some way from other system instances. Variant: An instance of a system, which is functionally identical but non-functionally distinct from other instances of a system. Release : An instance of a system, which is distributed to users outside of the development team.
SOFTWARE TESTING
38 / 50
V 1.0
V 1.1
V 1.1a
V 1.2
V 2.0
V 2.1
V 2.2
SOFTWARE TESTING
39 / 50
SOFTWARE TESTING
40 / 50
STF
What is Defects ?
The purpose of testing is to find defects. A defect is a variance from a desired product attribute. Two categories of defects are 1. Variance from product specifications.
SOFTWARE TESTING
41 / 50
Defects
1. Wrong : The specifications have been implemented incorrectly. This defect is a variance from customer / user specification. (correctly mentioned in specification but wrongly implemented) 2. Missing : A specified or wanted requirement is not in the built product. This can be a variance from specification, an indication that the specification was not implemented. ( given in specification but missed out in application) 3. Extra : A requirement incorporated into the product that was not specified. This is always a variance from specifications, but may the user of the product desire an attribute. (any thing that dissatisfies)
SOFTWARE TESTING
42 / 50
Test case
Set of procedures written by a tester which execute in our system to find defect.
Positive test case negative test case A test case is said to be effective only when both positive and negative cases are prepared.
SOFTWARE TESTING
43 / 50
0
0 $ 480 $1690
40
60 12 0
15
18 4 0
$ 25
$ 42 $ 182 $ 582
Production
SOFTWARE TESTING
44 / 50
TESTING LEVELS
Unit Testing
Integration Testing System Testing Acceptance Testing
SOFTWARE TESTING
45 / 50
Unit Testing
Unit testing is a testing in which the individual unit of the software are tested in isolation from other parts of a program. Advantage : To catch the defects that occurs at the early stage of software development. To minimize the ration of defects before moving to next level
SOFTWARE TESTING
46 / 50
Integration Testing
Integration testing refers to the testing in which software units of an application combined and tested for a communication interfaces between them.
Big Bang Testing Bottom Up Testing Top Down Testing
SOFTWARE TESTING
47 / 50
Module - 4
SOFTWARE TESTING
48 / 50
49 / 50
Integration
Bottom-up Integration testing :
In bottom up integration, all modules are added or combined from lower level hierarchy to higher level hierarchy I.e., the lower level model is tested in isolation first, then the next set of higher level modules are tested with the previously tested lower modules. Worker modules are grouped into builds and integrated.
50 / 50
SOFTWARE TESTING