Integration and Testing

Similar documents
Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG

Software Quality Engineering Courses Offered by The Westfall Team

Software Quality Engineering Courses Offered by The Westfall Team

QUALITY ASSURANCE PLAN OKLAHOMA DEPARTMENT OF HUMAN SERVICES ENTERPRISE SYSTEM (MOSAIC PROJECT)

Testing. CxOne Standard

Test Workflow. Michael Fourman Cs2 Software Engineering

Independent Verification and Validation of SAPHIRE 8 Software Project Plan

Testing Masters Technologies

Factors to Consider When Implementing Automated Software Testing

Software product quality assurance

Balanced Perspective. Managing software development from a business and technical point of view. IBM Software Group

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTRODUCTION. It is the process used to identify the correctness, completeness and quality of developed computer software.

Project Management. Session 3: Planning

Software Project & Risk Management Courses Offered by The Westfall Team

1. Can you explain the PDCA cycle and where testing fits in?

Systems Analysis for Business Analysts (3 Day)

This document describes the overall software development process of microcontroller software during all phases of the Company Name product life cycle.

Independent Verification and Validation of SAPHIRE 8 Software Project Plan

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL

A Review Paper on Software Testing

Software Project Management

WORK PLAN AND IV&V METHODOLOGY Information Technology - Independent Verification and Validation RFP No IVV-B

Software Testing Life Cycle

Work Plan and IV&V Methodology

Bugs are costly... Kinds of Quality Assurance

T Software Testing and Quality Assurance Test Planning

Software Testing(TYIT) Software Testing. Who does Testing?

IT6004/ Software Testing Unit-I

Quality Management_100_Quality Checklist Procedure

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING IT6004 SOFTWARE ESTING UNIT I : INTRODUCTION

Implement Effective Computer System Validation. Noelia Ortiz, MME, CSSGB, CQA

Quality Assurance / Quality Control Plan

PART THREE: Work Plan and IV&V Methodology (RFP 5.3.3)

Project Plan. CxOne Guide

ISTQB Certified Tester. Foundation Level. Sample Exam 1

SYSTEM MODERNIZATION BEST PRACTICES

WORKING WITH TEST DOCUMENTATION

Software Engineering II - Exercise

IT6004/ Software Testing

CHAPTER 2 CUSTOMER-DRIVEN QUALITY AND SCHEDULING. Dr. Abdul Aziz A. Bubshait. CEM 515 Construction Quality Assurance

The Software Quality Center of Excellence

Contractual Aspects of Testing Some Basic Guidelines CONTENTS

Software Quality Assurance and Testing STUDY NOTES

Information Technology Services Project Management Office Operations Guide

It s time to be more Optimistic about Negative Testing 12 th Annual International Software Testing Conference Saroj Patnaik 20-October-2012

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators

Implementing an Automated Testing Program

PROJECT MANAGEMENT. Quality Management (QM) Course 7 Project Management Knowledge Areas (5) Risk Management (RM)

Importance of Software Testing with Study of Various Testing Techniques & Automation Tools

Capability Maturity Model for Software (SW-CMM )

Focus Area Level Report Including Knowledge and Skills, and Performance Indicators

Led by the Author Attended by a peer group Varying level of formality Knowledge gathering Defect finding

Program Lifecycle Methodology Version 1.7

SOFTWARE QUALITY IN 2005 A SURVEY OF THE STATE OF THE ART SOURCES OF SPR S QUALITY DATA. SPR clients from 1984 through 2005 BASIC DEFINITIONS

Information Technology Independent Verification and Validation

Configuration Management

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

MTAT : Software Testing

ISTQB Sample Question Paper Dump #11

Session 8: Testing Special importance of testing Stages of testing Manual vs. automated testing Continuous testing strategies

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer STLC

Data Warehousing provides easy access


18-642: Software Development Processes

Chapter 6. Software Quality Management & Estimation

Summary of 47 project management processes (PMBOK Guide, 5 th edition, 2013)

Project Management Professionals

CMMI-DEV V1.3 CMMI for Development Version 1.3 Quick Reference Guide

Participation of Testing to Attain a Degree of Quality of Software

Index. NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table.

B.H. Far

Appendix C: MS Project Software Development Plan and Excel Budget.

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Project Management and Testing

Exhibit A - Scope of Services AMI Implementation Project Management Services

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

Building quality into the software from the. Keeping and. the software. software life cycle

Project and Process Tailoring For Success

UNIT IV TEST MANAGEMENT

CMMI for Technical Staff

BACKGROUND OF TESTING 4. The fundamental principles of the testing are as follows.

Successfully Integrating Test Automation and Agile Projects 10/7/2009. Presented to Annex Consulting Group CIO Breakfast October 7, 2009

ISO 9001:2000 Drives Process Changes at Siemens

Project Manager s Roadmap We re all smarter together

Brochure. Application Lifecycle Management. Accelerate Your Business. Micro Focus Application Lifecycle Management Software

Software configuration management

This resource is associated with the following paper: Assessing the maturity of software testing services using CMMI-SVC: an industrial case study

Skill Category 7. Quality Control Practices

Requirements Gathering using Object- Oriented Models

GAMP Guideline & Validation Documentation

Project Quality Management. For the PMP Exam using PMBOK

Job Titles and Skill Categories

Daitan White Paper The Software Development versus Maintenance Dilemma COMMON MISCALCULATIONS IMPACT REVENUE AND MARKET SHARE

Test Strategies Around the World Winning the War on Bugs Through Strategy

Reference B Project Management Requirements

Software Quality Assurance Framework (SQA) Yujuan Dou 窦玉娟 2008/11/28

For the PMP Exam using PMBOK. PMI, PMP, PMBOK Guide are registered trade marks of Project Management Institute, Inc.

Connoisseur Solutions Project Scope Management

Transcription:

Integration and Testing 1

Today Software Quality Assurance Integration Test planning Types of testing Test metrics Test tools 2

Deliverables by Phase Possible Deliverables by Phase Concept Document Statement of Work (SOW) Project Charter RFP & Proposal Software Concept Requirements Document (Software Requirements Specification) Work Breakdown Structure (WBS) Requirements Functional Specification ( Top Level Design Specification) Entity Relationship Diagram Data Flow Diagram Project Development Plan (Software Development Plan ) Baseline Project Plan Quality Assurance Plan Configuration Management Plan Risk Management Plan Analysis Integration Plan Detailed SQA Test Plan SQA Test Cases Design Coding and Debugging Detailed Design Specification Object Diagrams Detailed Data Model Systems Testing Coding Standards Working Code Unit Tests Acceptance Test Procedures Tested Application Maintenance Specification Deployed Application User Documentation Training Plan Deployment & Maintenance 3

If 99.9% Were Good Enough 9,703 cheques would be deducted from the wrong bank accounts each hour 27,800 pieces of mail would be lost per hour 3,000,000 incorrect drug prescriptions per year 8,605 commercial aircraft takeoffs would annually result in crashes Futrell, Shafer, Shafer, Quality Software Project Management, 2002 4

Development Costs 7% Requirements 29% 16% Preliminary Design Detailed Design 24% 24% Code & Unit Test Integration & System Test 5

Integration & Testing Development/Integration/Testing Common place for schedule & activity overlap Sometimes Integration/Testing thought of as one phase Progressively aggregates functionality QA team works in parallel with development team 6

Integration Approaches Top Down Core or overarching system(s) implemented first Combined into minimal shell system Stubs are used to fill-out incomplete sections Bottom Up Eventually replaced by actual modules Starts with individual modules and builds up Individual units (tested) combined into sub-systems Sub-systems are combined into the whole 7

Integration Who does integration testing? Can be either development or QA team Staffing and budget are at peak Issues Pressure Delivery date nears Unexpected failures (bugs) Motivation issues User acceptance conflicts 8

Validation and Verification V& V Validation Are we building the right product? Verification Are we building the product right? Testing Inspection Static analysis 9

Quality Assurance QA or SQA (Software Quality Assurance) Good QA comes from good process When does SQA begin? During requirements A CMM Level 2 function 10

QA Roles QA Manager Hires QA team; creates test plans; selects tools; manages team Test Developer/Test Engineer Performs functional tests; develops automated scripts System Administrator Supports QA functions; not official QA team member Copy Editor/Documentation Writer Supports QA; also not part of official team 11

Test Plans (SQAP) Software Quality Assurance Plan Should be complete near end of requirements See example Even use the IEEE 730 standard 12

SQAP Standard Sections Purpose Reference documents Management Documentation Standards, practices, conventions, metrics Quality measures Testing practices 13

SQAP..2 Reviews and Audits Process and specific reviews Software Requirements Review (SRR) Test Plan Review Code reviews Post-mortem review Risk Management Problem Reporting and Corrective Action Tools, Techniques, Methodologies Records Collection and Retention 14

Software Quality Traceability Ability to track relationship between work products How well do requirements/design/test cases match? Formal Reviews Conducted at the end of each lifecycle phase Software Requirements Review (SRR) Design Review Code Review And so on 15

Testing Exercising computer program with predetermined inputs Comparing the actual results against the expected results Testing is a form of sampling Cannot absolutely prove absence of defects Testing is not debugging 16

Test Cases Key elements of a test plan May include scripts, data, checklists May map to a Requirements Coverage Matrix A traceability tool 17

Rework Software equivalent of scrap in manufacturing 30% 25% 20% 8% 12% 19% 15% 4% Rew ork 10% 5% 1% 12% 6% 16% 12% 10% Production 0% Requirements Detailed Design Integration & System Test 18

Sources of Defects 56% 7% 27% 10% Design Other Code Requirements 19

V Process Model Project Requirements and Planning Non-functional Requirements Load & Performance Test Production, Operations, and Maintenance Product Requirements and Specification Analysis User Interface Design Usability Test System Testing and Acceptance Testing High-Level Desig Integration and Testing Detailed Design Unit Testing Coding 20

Project Testing Flow Unit Testing Integration Testing System Testing User Acceptance Testing 21

Black-Box Testing Functional Testing Program is a black-box Not concerned with how it works but what it does Focus on inputs & outputs Test cases are based on SRS (specs) 22

White-Box Testing Accounts for the structure of the program Coverage Statements executed Paths followed through the code 23

Unit Testing a.k.a. Module Testing Type of white-box testing Sometimes treated black-box Who does Unit Testing? Developers Unit tests are written in code When do Unit Testing? Ongoing during development As individual modules are completed 24

Unit Testing Individual tests can be grouped Test Suites JUnit Part of the XP methodology Test-first programming 25

Integration Testing Testing interfaces between components First step after Unit Testing Components may work alone but fail when put together Defect may exist in one module but manifest in another Black-box tests 26

System Testing Testing the complete system A type of black-box testing 27

User Acceptance Testing Last milestone in testing phase Ultimate customer test and sign-off Sometimes synonymous with beta tests Customer is satisfied software meets their requirements Based on Acceptance Criteria Conditions the software must meet for customer to accept the system Ideally defined before contract is signed Use quantifiable, measurable conditions 28

Regression Testing Re-running of tests after fixes or changes are made to software or the environment Example QA finds defect Developer fixes QA runs regression test to verify Automated tools very helpful for this 29

Compatibility Testing Testing against other platforms Testing against multiple browsers Does it work under Netscape/IE, Windows/Mac? Testing against multiple operating systems 30

External Testing Milestones Alpha 1 st, Beta 2 nd Testing by users outside the organization Alpha release Given to very limited user set Product is not feature-complete Beta release Customer testing and evaluation Preferably after software stabilizes 31

External Testing Milestones Value of Beta Testing Testing in the real world Getting a software assessment Marketing Augmenting your staff Beta testers must be recruited Existing base, marketing, tech support, site All testing must be scheduled by PM 32

External Testing Milestones Release Candidate (RC) Send to manufacturing, if testing successful Release to Manufacturing (RTM) Production release formally sent Aim for a stabilization period before each of these milestones Team focus on quality, integration, stability 33

Test Scripts Two meanings: 1. Set of step-by-step instructions intended to lead test personnel through tests List of all actions and expected responses 2. Automated test script (program) 34

Static Testing Reviews Most artifacts can be reviewed Proposal Schedule Requirements Data model Code Test plans 35

Static Testing..2 Peer Reviews Methodical examination of software work products by peers to identify defects and necessary changes Goal: remove defects early and efficiently Planned by PM, performed in meetings, documented CMM Level 3 activity 36

Automated Testing Human testers are inefficient Pros Lowers overall cost of testing Tools can run unattended Tools run through suites faster than people Great for regression and compatibility tests Tests create a body of knowledge Can reduce QA staff size 37

Automated Testing..2 Cons Not everything can be automated Learning curve or expertise in tools Cost of high-end tools $5-80K (low-end are still cheap) 38

Test Tools Capture & Playback Coverage Analysis Performance Testing Test Case Management 39

Load & Stress Testing Push system beyond capacity limits Often done via automated scripts By the QA team Near end of functional tests Can show Hidden functional issues Maximum system capacity Unacceptable data or service loss Determine if Performance Requirements met 40

Load & Stress Testing..2 Metrics Minimal acceptable response time Minimal acceptable number of concurrent users Minimal acceptable downtime High-end Vendors Segue Mercury Empirix 41

Performance Metrics Bad Must support 500 users 10 second response time Must handle 1M hits per day Good Must support 500 simultaneous users [Average Maximum 90 th percentile] response time must be X seconds Must handle peak load of 28 page requests per second Source: Athens Consulting Group 42

Other Testing Installation Testing Very important if not a Web-based system Can lead to high support costs and customer dissatisfaction Usability Testing Verification of user satisfaction Navigability User-friendliness Ability to accomplish primary tasks 43

Other Issues Pareto Principle The 80-20 rule (80% of defects from 20% of code) Identify the problem modules Phase Containment Testing at the end of each phase Prevent problems moving phase-to-phase Burn-in Allowing system to run long period of time Variation of stress testing 44

Other Issues..2 Code Freeze When developers stop writing new code and only do bug fixes Occurs at varying points in integration/testing Tester-to-Coder Ratio Often 1:3 or 1:4 QA staff and Manager may be needed 45

Stopping Testing When do you stop? Rarely are all defects closed by release Shoot for all Critical/High/Medium defects Often, occurs when time runs out Final Sign-off (User Acceptance Test) Customers Engineering Product management 46

Test Metrics Load Maximum acceptable response time Minimum number of simultaneous users Disaster Maximum allowable downtime Compatibility Minimum and maximum number of browsers and operating systems supported 47

Test Metrics..2 Usability Minimum approval rating from focus groups Functional Requirements coverage 100% pass rate for automated test suites 48

Defect Metrics These are very important to the PM Number of outstanding defects Ranked by severity Critical, High, Medium, Low Showstoppers Opened vs. closed 49

Defect Tracking Get tools to do this for you Bugzilla, TestTrack Pro, Rational ClearCase Make sure all necessary team members have access Have regular defect review meetings Can be weekly early in test, daily in crunch Who can enter defects into the tracking system? Lots of people: QA staff, developers, analysts, managers, (sometimes) users, PM 50

Defect Tracking..2 Fields State: open, closed, pending Date created, updated, closed Description of problem Release/version number Person submitting Priority: low, medium, high, critical Comments: by QA, developer, other 51

Defect Metrics Open Rates How many new bugs over a period of time? Close Rates How many closed over that same period? Ex: 10 bugs/day Change Rate Number of times the same issue updated Fix Failed Counts Fixes that didn t really fix (still open) 52

Web Site Testing Unique factors Distributed (N-tiers, can be many) Very high availability needs Uses public network (Internet) Large number of platforms (browsers and OS) 53

Web Site Testing..2 Causes of most site failures Internal network performance External network performance Hardware performance Unforeseeable traffic spikes Web application performance 54

Web Site Testing Commercial Tools: Load Test & Site Management Mercury Interactive SiteScope, SiteSeer Segue Commercial Subscription Services Keynote Systems Monitoring Tools 55