SlideShare una empresa de Scribd logo
1 de 25
Software Testing and Quality Assurance
            Theory and Practice
                 Chapter 1
      Basic Concepts and Preliminaries




                                         1
Outline of the Chapter
•   The Quality Revolution
•   Software Quality
•   Role of Testing
•   Verification and Validation
•   Failure, Error, Fault and Defect
•   The Notion of Software Reliability
•   The Objectives of Testing
•   What is a Test Case?
•   Expected Outcome
•   The Concept of Complete Testing
•   The Central Issue in Testing
•   Testing Activities
•   Testing Level
•   Source of Information for Test Selection
•   White-box and Black-box Testing
•   Test Planning and Design
•   Monitoring and Measuring Test Execution
•   Test Tools and Automation
•   Test Team Organization and Management
                                                  2
The Quality Revolution
•   Started in Japan by Deming, Juran, and Ishikawa during 1940s
•    In 1950s, Deming introduced statistical quality control to Japanese
    engineers
•    Statistical quality control (SQC) is a discipline based on
    measurement and statistics
     – SQC methods use seven basic quality management tool
        • Pareto analysis, Trend Chart, Flow chart, Histogram, Scatter diagram,
          Control chart, Cause and effect diagram
•   “Lean principle” was developed by Taiichi Ohno of Toyota
     “A systematic approach to identifying and eliminating waste through continuous
       improvement, flowing the product at the pull of the customer in pursuit of
       perfection.”




                                                                                      3
The Quality Revolution




            Figure 1.1: The Shewhart cycle

•   Deming introduced Shewhart’s PDCA cycle to Japanese researchers
•   It illustrate the activity sequence:
    –   Setting goals
    –   Assigning them to measurable milestones
    –   Assessing the progress against the milestones
    –   Take action to improve the process in the next cycle

                                                                      4
The Quality Revolution
•   In 1954, Juran spurred the move from SQC to TQC (Total Quality
    Control)
•   Key Elements of TQC:
     –   Quality comes first, not short-term profits
     –   The customer comes first, not the producer
     –   Decisions are based on facts and data
     –   Management is participatory and respectful of all employees
     –   Management is driven by cross-functional committees
•    An innovative methodology developed by Ishikawa called cause-
    and-effect diagram


         Figure 1.2: Ishikawa diagram




                                                                       5
The Quality Revolution
•   National Broadcasting Corporation (NBC) of United States broadcast a
    documentary

     “If Japan Can ... Why Can’t We?” on June 24th, 1980

•   Leaders in United States started emphasizing on quality

•   In 1987 Malcolm Baldrige National Quality Award was introduced in U.S.A
              Similar to the Deming prize in Japan

•   In Baldrige National Award the quality is viewed as:
              Something defined by the customer

•   In Deming prize, the quality is viewed as:
              Something defined by the producer by conformance to specifications




                                                                                   6
Software Quality
•   Five Views of Software Quality:
    –   Transcendental view
    –   User’s view
    –   Manufacturing view
    –   Product view
    –   Value-based view
•   Software Quality in terms of quality factors and criteria
    – A quality factor represents behavioral characteristic of a system
        • Examples: correctness, reliability, efficiency, and testability
    – A quality criterion is an attribute of a quality factor that is related to software
      development
        • Example: modularity is an attribute of software architecture
•   Quality Models
    – Examples: ISO 9126, CMM, TPI, and TMM


                                                                                            7
Role of Testing
•   Software quality assessment divide into two categories:

    – Static analysis
       • It examines the code and reasons over all behaviors that might arise during
          run time
            – Examples: Code review, inspection, and algorithm analysis


    – Dynamic analysis
       • Actual program execution to expose possible program failure
       • One observe some representative program behavior, and reach conclusion
         about the quality of the system

•   Static and Dynamic Analysis are complementary in nature
•   Focus is to combines the strengths of both approaches


                                                                                   8
Verification and Validation
•   Verification
     – Evaluation of software system that help in determining whether the product of
       a given development phase satisfy the requirements established before the start
       of that phase
         • Building the product correctly



•   Validation
     – Evaluation of software system that help in determining whether the product
       meets its intended use
         • Building the correct product




                                                                                     9
Failure, Error, Fault and Defect
•   Failure
     – A failure is said to occur whenever the external behavior of a system does not
       conform to that prescribed in the system specification
•   Error
     – An error is a state of the system.
     – An error state could lead to a failure in the absence of any corrective action by
       the system
•   Fault
     – A fault is the adjudged cause of an error
•   Defect
     – It is synonymous of fault
     – It a.k.a. bug




                                                                                      10
The Notion of Software Reliability
•    It is defined as the probability of failure-free operation of a software
    system for a specified time in a specified environment

•   It can be estimated via random testing

•    Test data must be drawn from the input distribution to closely
    resemble the future usage of the system

•    Future usage pattern of a system is described in a form called
    operational profile




                                                                            11
The Objectives of Testing
•   It does work

•   It does not work

•   Reduce the risk of failures

•   Reduce the cost of testing




                                                   12
What is a Test Case?
•   Test Case is a simple pair of
    <input, expected outcome>
•   State-less systems: A compiler is a stateless system
    – Test cases are very simple
        • Outcome depends solely on the current input
•   State-oriented: ATM is a state oriented system
    – Test cases are not that simple. A test case may consist of a sequences of
      <input, expected outcome>
        • The outcome depends both on the current state of the system and the
           current input
        • ATM example:
                  < check balance, $500.00 >,
                 < withdraw, “amount?” >,
                 < $200.00, “$200.00” >,
                 < check balance, $300.00 >


                                                                                  13
Expected Outcome
•   An outcome of program execution may include
     – Value produced by the program
     – State Change
     – A sequence of values which must be interpreted together for the outcome to be
       valid



•    A test oracle is a mechanism that verifies the correctness of program
    outputs
     – Generate expected results for the test inputs
     – Compare the expected results with the actual results of execution of the IUT




                                                                                      14
The Concept of Complete Testing
•   Complete or exhaustive testing means
    “There are no undisclosed faults at the end of test phase”



•   Complete testing is near impossible for most of the system
    – The domain of possible inputs of a program is too large
         • Valid inputs
         • Invalid inputs
    – The design issues may be too complex to completely test
    – It may not be possible to create all possible execution environments of the
      system




                                                                                    15
The Central Issue in Testing




Figure 1.5: A subset of the input domain exercising a subset of the program behavior

  •    Divide the input domain D into D1 and D2
  •   Select a subset D1 of D to test program P
  •   It is possible that D1 exercise only a part P1 of P




                                                                                       16
Testing Activities




               Figure 1.6: Different activities in process testing

•   Identify the objective to be tested
•   Select inputs
•   Compute the expected outcome
•   Set up the execution environment of the program
•   Execute the program
•   Analyze the test results
                                                                     17
Testing Level
•   Unit testing
     – Individual program units, such as
       procedure, methods in isolation
•   Integration testing
     – Modules are assembled to construct
       larger subsystem and tested
•   System testing
     – Includes wide spectrum of testing
       such as functionality, and load
•   Acceptance testing
     – Customer’s expectations from the
       system
     – Two types of acceptance testing
         • UAT                               Figure 1.7: Development and testing phases
         • BAT                                  in the V model
     – UAT: System satisfies the contractual
       acceptance criteria
     – BAT: System will eventually pass the
       user acceptance test


                                                                                     18
Testing Level




    Figure 1.8: Regression testing at different software testing levels



•   New test cases are not designed
•   Test are selected, prioritized and executed
•   To ensure that nothing is broken in the new version of the software


                                                                          19
Source of Information for Test Selection
•   Requirement and Functional Specifications
•   Source Code
•   Input and output Domain
•   Operational Profile
•   Fault Model
     – Error Guessing
     – Fault Seeding
     – Mutation Analysis




                                                      20
White-box and Black-box Testing
•   White-box testing a.k.a. structural      •   Black-box testing a.k.a. functional
    testing                                      testing
•   Examines source code with focus on:      •    Examines the program that is
     – Control flow                              accessible from outside
     – Data flow                             •   Applies the input to a program and
•   Control flow refers to flow of control       observe the externally visible outcome
    from one instruction to another          •   It is applied to both an entire program
•   Data flow refers to propagation of           as well as to individual program units
    values from one variable or constant     •   It is performed at the external
    to another variable                          interface level of a system
•   It is applied to individual units of a   •   It is conducted by a separate software
    program                                      quality assurance group
•   Software developers perform
    structural testing on the individual
    program units they write




                                                                                      21
Test Planning and Design
•   The purpose is to get ready and organized for test execution
•   A test plan provides a:
     – Framework
         • A set of ideas, facts or circumstances within which the tests will be
           conducted
     – Scope
         • The domain or extent of the test activities
     – Details of resource needed
     – Effort required
     – Schedule of activities
     – Budget
•    Test objectives are identified from different sources
•    Each test case is designed as a combination of modular test
    components called test steps
•   Test steps are combined together to create more complex tests
                                                                                   22
Monitoring and Measuring Test Execution
•   Metrics for monitoring test execution

•   Metrics for monitoring defects

•   Test case effectiveness metrics
     – Measure the “defect revealing ability” of the test suite
     – Use the metric to improve the test design process

•   Test-effort effectiveness metrics
     – Number of defects found by the customers that were not found by the test
       engineers




                                                                                  23
Test Tools and Automation
•   Increased productivity of the testers   •   The test cases to be automated are
                                                well defined
•   Better coverage of regression testing
                                            •   Test tools and an infrastructure are in
                                                place
•   Reduced durations of the testing
    phases
                                            •   The test automation professionals
                                                have prior successful experience in
•   Reduced cost of software maintenance        automation

•   Increased effectiveness of test cases   •   Adequate budget have been allocation
                                                for the procurement of software tools




                                                                                      24
Test Team Organization and Management




                        Figure 16.1: Structure of test groups

•   Hiring and retaining test engineers is a challenging task
•   Interview is the primary mechanism for evaluating applicants
•    Interviewing is a skills that improves with practice
•   To retain test engineers management must recognize the importance of testing
    efforts at par with development effort

                                                                                   25

Más contenido relacionado

La actualidad más candente

System development
System developmentSystem development
System developmentPraveen Minz
 
1 sqa and testing concepts
1 sqa and testing concepts1 sqa and testing concepts
1 sqa and testing conceptssulaimanr85
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)ShudipPal
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2babak danyal
 
Ch13 system testexecution
Ch13 system testexecutionCh13 system testexecution
Ch13 system testexecutionabcxyz_abc
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleMusTufa Nullwala
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)ShudipPal
 
Practical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesPractical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesJohan Hoberg
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineeringRupesh Vaishnav
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...ChithraCegon
 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its typesMITULJAMANG
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing StrategiesAlpana Bhaskar
 

La actualidad más candente (20)

System development
System developmentSystem development
System development
 
1 sqa and testing concepts
1 sqa and testing concepts1 sqa and testing concepts
1 sqa and testing concepts
 
Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)Software Engineering (Software Configuration Management)
Software Engineering (Software Configuration Management)
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2Se 381 -  lec 28 -- 34 - 12 jun12 - testing 1 of 2
Se 381 - lec 28 -- 34 - 12 jun12 - testing 1 of 2
 
Ch13 system testexecution
Ch13 system testexecutionCh13 system testexecution
Ch13 system testexecution
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
Regression testing
Regression testingRegression testing
Regression testing
 
Software Processes
Software Processes Software Processes
Software Processes
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Practical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesPractical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile Devices
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
 
Chapter6
Chapter6Chapter6
Chapter6
 
Software testing strategies And its types
Software testing  strategies And its typesSoftware testing  strategies And its types
Software testing strategies And its types
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 

Destacado (12)

Ch2 theory
Ch2 theoryCh2 theory
Ch2 theory
 
Ch5
Ch5Ch5
Ch5
 
Ch4
Ch4Ch4
Ch4
 
Ch3
Ch3Ch3
Ch3
 
Ch2
Ch2Ch2
Ch2
 
Ch6
Ch6Ch6
Ch6
 
Ch7
Ch7Ch7
Ch7
 
Ch1
Ch1Ch1
Ch1
 
Ch3
Ch3Ch3
Ch3
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Unit Testing Concepts and Best Practices
Unit Testing Concepts and Best PracticesUnit Testing Concepts and Best Practices
Unit Testing Concepts and Best Practices
 
UNIT TESTING PPT
UNIT TESTING PPTUNIT TESTING PPT
UNIT TESTING PPT
 

Similar a Software Testing and Quality Assurance Theory and Practice Chapter 1 Basics

SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.pptAhmad Abbas
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviAbuulHassan2
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxMinsasWorld
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysisWBUTTUTORIALS
 
risk based testing and regression testing
risk based testing and regression testingrisk based testing and regression testing
risk based testing and regression testingToshi Patel
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)bharathanche
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10Syed Muhammad Hammad
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxPriyaFulpagare1
 
Software Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechSoftware Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechIIITA
 

Similar a Software Testing and Quality Assurance Theory and Practice Chapter 1 Basics (20)

SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.ppt
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Learn software testing
Learn software testingLearn software testing
Learn software testing
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
 
Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
Manual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testingManual testing - Introduction to Manual Software testing
Manual testing - Introduction to Manual Software testing
 
risk based testing and regression testing
risk based testing and regression testingrisk based testing and regression testing
risk based testing and regression testing
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
 
Software Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btechSoftware Quality and Testing_Se lect18 btech
Software Quality and Testing_Se lect18 btech
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 

Último

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Último (20)

Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

Software Testing and Quality Assurance Theory and Practice Chapter 1 Basics

  • 1. Software Testing and Quality Assurance Theory and Practice Chapter 1 Basic Concepts and Preliminaries 1
  • 2. Outline of the Chapter • The Quality Revolution • Software Quality • Role of Testing • Verification and Validation • Failure, Error, Fault and Defect • The Notion of Software Reliability • The Objectives of Testing • What is a Test Case? • Expected Outcome • The Concept of Complete Testing • The Central Issue in Testing • Testing Activities • Testing Level • Source of Information for Test Selection • White-box and Black-box Testing • Test Planning and Design • Monitoring and Measuring Test Execution • Test Tools and Automation • Test Team Organization and Management 2
  • 3. The Quality Revolution • Started in Japan by Deming, Juran, and Ishikawa during 1940s • In 1950s, Deming introduced statistical quality control to Japanese engineers • Statistical quality control (SQC) is a discipline based on measurement and statistics – SQC methods use seven basic quality management tool • Pareto analysis, Trend Chart, Flow chart, Histogram, Scatter diagram, Control chart, Cause and effect diagram • “Lean principle” was developed by Taiichi Ohno of Toyota “A systematic approach to identifying and eliminating waste through continuous improvement, flowing the product at the pull of the customer in pursuit of perfection.” 3
  • 4. The Quality Revolution Figure 1.1: The Shewhart cycle • Deming introduced Shewhart’s PDCA cycle to Japanese researchers • It illustrate the activity sequence: – Setting goals – Assigning them to measurable milestones – Assessing the progress against the milestones – Take action to improve the process in the next cycle 4
  • 5. The Quality Revolution • In 1954, Juran spurred the move from SQC to TQC (Total Quality Control) • Key Elements of TQC: – Quality comes first, not short-term profits – The customer comes first, not the producer – Decisions are based on facts and data – Management is participatory and respectful of all employees – Management is driven by cross-functional committees • An innovative methodology developed by Ishikawa called cause- and-effect diagram Figure 1.2: Ishikawa diagram 5
  • 6. The Quality Revolution • National Broadcasting Corporation (NBC) of United States broadcast a documentary “If Japan Can ... Why Can’t We?” on June 24th, 1980 • Leaders in United States started emphasizing on quality • In 1987 Malcolm Baldrige National Quality Award was introduced in U.S.A Similar to the Deming prize in Japan • In Baldrige National Award the quality is viewed as: Something defined by the customer • In Deming prize, the quality is viewed as: Something defined by the producer by conformance to specifications 6
  • 7. Software Quality • Five Views of Software Quality: – Transcendental view – User’s view – Manufacturing view – Product view – Value-based view • Software Quality in terms of quality factors and criteria – A quality factor represents behavioral characteristic of a system • Examples: correctness, reliability, efficiency, and testability – A quality criterion is an attribute of a quality factor that is related to software development • Example: modularity is an attribute of software architecture • Quality Models – Examples: ISO 9126, CMM, TPI, and TMM 7
  • 8. Role of Testing • Software quality assessment divide into two categories: – Static analysis • It examines the code and reasons over all behaviors that might arise during run time – Examples: Code review, inspection, and algorithm analysis – Dynamic analysis • Actual program execution to expose possible program failure • One observe some representative program behavior, and reach conclusion about the quality of the system • Static and Dynamic Analysis are complementary in nature • Focus is to combines the strengths of both approaches 8
  • 9. Verification and Validation • Verification – Evaluation of software system that help in determining whether the product of a given development phase satisfy the requirements established before the start of that phase • Building the product correctly • Validation – Evaluation of software system that help in determining whether the product meets its intended use • Building the correct product 9
  • 10. Failure, Error, Fault and Defect • Failure – A failure is said to occur whenever the external behavior of a system does not conform to that prescribed in the system specification • Error – An error is a state of the system. – An error state could lead to a failure in the absence of any corrective action by the system • Fault – A fault is the adjudged cause of an error • Defect – It is synonymous of fault – It a.k.a. bug 10
  • 11. The Notion of Software Reliability • It is defined as the probability of failure-free operation of a software system for a specified time in a specified environment • It can be estimated via random testing • Test data must be drawn from the input distribution to closely resemble the future usage of the system • Future usage pattern of a system is described in a form called operational profile 11
  • 12. The Objectives of Testing • It does work • It does not work • Reduce the risk of failures • Reduce the cost of testing 12
  • 13. What is a Test Case? • Test Case is a simple pair of <input, expected outcome> • State-less systems: A compiler is a stateless system – Test cases are very simple • Outcome depends solely on the current input • State-oriented: ATM is a state oriented system – Test cases are not that simple. A test case may consist of a sequences of <input, expected outcome> • The outcome depends both on the current state of the system and the current input • ATM example:  < check balance, $500.00 >, < withdraw, “amount?” >, < $200.00, “$200.00” >, < check balance, $300.00 > 13
  • 14. Expected Outcome • An outcome of program execution may include – Value produced by the program – State Change – A sequence of values which must be interpreted together for the outcome to be valid • A test oracle is a mechanism that verifies the correctness of program outputs – Generate expected results for the test inputs – Compare the expected results with the actual results of execution of the IUT 14
  • 15. The Concept of Complete Testing • Complete or exhaustive testing means “There are no undisclosed faults at the end of test phase” • Complete testing is near impossible for most of the system – The domain of possible inputs of a program is too large • Valid inputs • Invalid inputs – The design issues may be too complex to completely test – It may not be possible to create all possible execution environments of the system 15
  • 16. The Central Issue in Testing Figure 1.5: A subset of the input domain exercising a subset of the program behavior • Divide the input domain D into D1 and D2 • Select a subset D1 of D to test program P • It is possible that D1 exercise only a part P1 of P 16
  • 17. Testing Activities Figure 1.6: Different activities in process testing • Identify the objective to be tested • Select inputs • Compute the expected outcome • Set up the execution environment of the program • Execute the program • Analyze the test results 17
  • 18. Testing Level • Unit testing – Individual program units, such as procedure, methods in isolation • Integration testing – Modules are assembled to construct larger subsystem and tested • System testing – Includes wide spectrum of testing such as functionality, and load • Acceptance testing – Customer’s expectations from the system – Two types of acceptance testing • UAT Figure 1.7: Development and testing phases • BAT in the V model – UAT: System satisfies the contractual acceptance criteria – BAT: System will eventually pass the user acceptance test 18
  • 19. Testing Level Figure 1.8: Regression testing at different software testing levels • New test cases are not designed • Test are selected, prioritized and executed • To ensure that nothing is broken in the new version of the software 19
  • 20. Source of Information for Test Selection • Requirement and Functional Specifications • Source Code • Input and output Domain • Operational Profile • Fault Model – Error Guessing – Fault Seeding – Mutation Analysis 20
  • 21. White-box and Black-box Testing • White-box testing a.k.a. structural • Black-box testing a.k.a. functional testing testing • Examines source code with focus on: • Examines the program that is – Control flow accessible from outside – Data flow • Applies the input to a program and • Control flow refers to flow of control observe the externally visible outcome from one instruction to another • It is applied to both an entire program • Data flow refers to propagation of as well as to individual program units values from one variable or constant • It is performed at the external to another variable interface level of a system • It is applied to individual units of a • It is conducted by a separate software program quality assurance group • Software developers perform structural testing on the individual program units they write 21
  • 22. Test Planning and Design • The purpose is to get ready and organized for test execution • A test plan provides a: – Framework • A set of ideas, facts or circumstances within which the tests will be conducted – Scope • The domain or extent of the test activities – Details of resource needed – Effort required – Schedule of activities – Budget • Test objectives are identified from different sources • Each test case is designed as a combination of modular test components called test steps • Test steps are combined together to create more complex tests 22
  • 23. Monitoring and Measuring Test Execution • Metrics for monitoring test execution • Metrics for monitoring defects • Test case effectiveness metrics – Measure the “defect revealing ability” of the test suite – Use the metric to improve the test design process • Test-effort effectiveness metrics – Number of defects found by the customers that were not found by the test engineers 23
  • 24. Test Tools and Automation • Increased productivity of the testers • The test cases to be automated are well defined • Better coverage of regression testing • Test tools and an infrastructure are in place • Reduced durations of the testing phases • The test automation professionals have prior successful experience in • Reduced cost of software maintenance automation • Increased effectiveness of test cases • Adequate budget have been allocation for the procurement of software tools 24
  • 25. Test Team Organization and Management Figure 16.1: Structure of test groups • Hiring and retaining test engineers is a challenging task • Interview is the primary mechanism for evaluating applicants • Interviewing is a skills that improves with practice • To retain test engineers management must recognize the importance of testing efforts at par with development effort 25

Notas del editor

  1. Handouts ------------------------------------------------------------------ ------------------------------------------------------------------ ------------------------------------------------------------------- --------------------------------------------------------------------
  2. Handouts
  3. Handouts
  4. Handouts
  5. Handouts
  6. Handouts
  7. Handouts
  8. Handouts
  9. Handouts
  10. Handouts
  11. Handouts
  12. Handouts
  13. Handouts
  14. Handouts
  15. Handouts
  16. Handouts
  17. Handouts
  18. Handouts
  19. Handouts
  20. Handouts
  21. Handouts
  22. Handouts
  23. Handouts
  24. Handouts
  25. Handouts