Test Management Software Testing ISEB Foundation Certificate Course 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Test process essentials Riitta Viitamäki,
Software Quality Assurance Plan
Chapter 7: Key Process Areas for Level 2: Repeatable - Arvind Kabir Yateesh.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
Computer Engineering 203 R Smith Project Tracking 12/ Project Tracking Why do we want to track a project? What is the projects MOV? – Why is tracking.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
Personal Software Process
Software Configuration Management
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Execution and Reporting Adrian Marshall.
SE 555 Software Requirements & Specification Requirements Management.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Management Adrian Marshall.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Software Configuration Management (SCM)
CSSE 375 Software Construction and Evolution: Configuration Management
Change Request Management
Test Design Techniques
Release & Deployment ITIL Version 3
What is Business Analysis Planning & Monitoring?
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Extreme Programming Software Development Written by Sanjay Kumar.
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Test Organization and Management
Project Management Chapter 3. Objectives Become familiar with estimation. Be able to create a project workplan. Understand why project teams use timeboxing.
Software Configuration Management
Software Testing Life Cycle
Introduction Telerik Software Academy Software Quality Assurance.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Independent User Acceptance Test Process (IUAT)
T Project Review Magnificent Seven Project planning iteration
1 © Quality House QUALITY HOUSE The best testing partner in Bulgaria.
Identify steps for understanding and solving the
Configuration Management (CM)
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
IT Requirements Management Balancing Needs and Expectations.
Testing Workflow In the Unified Process and Agile/Scrum processes.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
Software Quality Assurance
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
© Mahindra Satyam 2009 Configuration Management QMS Training.
Apply Quality Management Techniques Project Quality Processes Certificate IV in Project Management Qualification Code BSB41507 Unit Code BSBPMG404A.
Testing as a Driver for Development Change Wall Street Systems Graham Thomas.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
BSBPMG404A Apply Quality Management Techniques Apply Quality Management Techniques Project Quality Processes C ertificate IV in Project Management
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 2 Diploma of Project Management.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
Change Request Management
Configuration Management
Software Configuration Management
Software Engineering (CSI 321)
Managing the Project Lifecycle
Configuration Management
Applied Software Implementation & Testing
Engineering Processes
Introduction to Software Testing
Verification and Validation Unit Testing
Fundamental Test Process
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Baisc Of Software Testing
Presentation transcript:

Test Management Software Testing ISEB Foundation Certificate Course 1 Principles2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management6 Tools Chapter 5

Contents Organisation Configuration Management Test estimation, monitoring and control Incident management Standards for testing Test Management ISTQB / ISEB Foundation Exam Practice

Importance of Independence Time No. faults Release to End Users

Organisational structures for testing n Developer responsibility (only) n Development team responsibility (buddy system) n Tester(s) on the development team n Dedicated team of testers (not developers) n Internal test consultants (advice, review, support, not perform the testing) n Outside organisation (3rd party testers)

Testing by developers n Pro’s: -know the code best -will find problems that the testers will miss -they can find and fix faults cheaply n Con’s -difficult to destroy own work -tendency to 'see' expected results, not actual results -subjective assessment

Testing by development team n Pro’s: -some independence -technical depth -on friendly terms with “buddy” - less threatening n Con’s -pressure of own development work -technical view, not business view -lack of testing skill

Tester on development team n Pro’s: -independent view of the software -dedicated to testing, no development responsibility -part of the team, working to same goal: quality n Con’s -lack of respect -lonely, thankless task -corruptible (peer pressure) -a single view / opinion

Independent test team n Pro’s: -dedicated team just to do testing -specialist testing expertise -testing is more objective & more consistent n Con’s -“over the wall” syndrome -may be antagonistic / confrontational -over-reliance on testers, insufficient testing by developers

Internal test consultants n Pro’s: -highly specialist testing expertise, providing support and help to improve testing done by all -better planning, estimation & control from a broad view of testing in the organisation n Con’s -someone still has to do the testing -level of expertise enough? -needs good “people” skills - communication -influence, not authority

Outside organisation (3rd party) n Pro’s: -highly specialist testing expertise (if out-sourced to a good organisation) -independent of internal politics n Con’s -lack of company and product knowledge -expertise gained goes outside the company -expensive?

Usual choices n Component testing: -done by programmers (or buddy) n Integration testing in the small: -poorly defined activity n System testing: -often done by independent test team n Acceptance testing: -done by users (with technical help) -demonstration for confidence

So what we have seen thus far.. n independence is important -not a replacement for familiarity n different levels of independence -pro's and con's at all levels n test techniques offer another dimension to independence (independence of thought) n test strategy should use a good mix -"declaration of independence” n balance of skills needed

Skills needed in testing n Technique specialists n Automators n Database experts n Business skills & understanding n Usability expert n Test environment expert n Test managers

Contents Organisation Configuration Management Test estimation, monitoring and control Incident management Standards for testing Test Management ISTQB / ISEB Foundation Exam Practice

Problems resulting from poor configuration management n can’t reproduce a fault reported by a customer n can’t roll back to previous subsystem n one change overwrites another n emergency fault fix needs testing but tests have been updated to new software version n which code changes belong to which version? n faults which were fixed re-appear n tests worked perfectly - on old version n “Shouldn’t that feature be in this version?”

A definition of Configuration Management n “The process of identifying and defining the configuration items in a system, n controlling the release and change of these items throughout the system life cycle, n recording and reporting the status of configuration items and change requests, n and verifying the completeness and correctness of configuration items.” -ANSI/IEEE Std , Software Engineering Terminology

Configuration Management n An engineering management procedure that includes -configuration identification -configuration control -configuration status accounting -configuration audit Encyclopedia of Software Engineering, 1994 Encyclopedia of Software Engineering, 1994

Configuration identification Configuration Identification Configuration Control Status Accounting Configuration Auditing Configuration Structures CI Planning Version/issue Numbering Baseline/release Planning Naming Conventions CI: Configuration item: stand alone, test alone, use alone element Selection criteria

Configuration control CI Submission Withdrawal/ Distribution control Status/version Control Clearance Investigation Impact Analysis Authorised Amendment Review/ Test Controlled Area/library Problem/fault Reporting Change Control Configuration Control Board Configuration Identification Configuration Control Status Accounting Configuration Auditing

Status accounting & Configuration Auditing Configuration Identification Configuration Control Status Accounting Configuration Auditing Status Accounting Database Input to SA Database Queries and Reports Data Analysis Traceability, impact analysis Procedural Conformance CI Verification Agree with customer what has been built, tested & delivered

Products for CM in testing n test plans n test designs n test cases: -test input -test data -test scripts -expected results n actual results n test tools CM is critical for controlled testing CM is critical for controlled testing What would not be under configuration management? Live data!

Contents Organisation Configuration Management Test estimation, monitoring and control Incident management Standards for testing Test Management ISTQB / ISEB Foundation Exam Practice

Estimating testing is no different n Estimating any job involves the following -identify tasks -how long for each task -who should perform the task -when should the task start and finish -what resources, what skills -predictable dependencies task precedence (build test before running it) task precedence (build test before running it) technical precedence (add & display before edit) technical precedence (add & display before edit)

Estimating testing is different n Additional destabilising dependencies -testing is not an independent activity -delivery schedules for testable items missed -test environments are critical n Test Iterations (Cycles) -testing should find faults -faults need to be fixed -after fixed, need to retest -how many times does this happen?

Test cycles / iterations Debug DRDR 3-4 iterations is typical TestTheory: Test Practice: DesExVerBldIden Retest

Estimating iterations n past history n number of faults expected -can predict from previous test effectiveness and previous faults found (in test, review, Inspection) -% faults found in each iteration (nested faults) -% fixed [in]correctly n time to report faults n time waiting for fixes n how much in each iteration?

Time to report faults n If it takes 10 mins to write a fault report, how many can be written in one day? n The more fault reports you write, the less testing you will be able to do. Test Fault analysis & reporting Mike Royce: suspension criteria: when testers spend > 25% time on faults

Measuring test execution progress 1 tests run tests passed tests planned now release date what does this mean? what would you do?

Diverging S-curve poor test entry criteria ran easy tests first insufficient debug effort common faults affect all tests software quality very poor tighten entry criteria cancel project do more debugging stop testing until faults fixed continue testing to scope software quality Note: solutions / actions will impact other things as well, e.g. schedules Possible causesPotential control actions

Measuring test execution progress 2 tests planned run passed action taken old release date new release date

Measuring test execution progress 3 tests planned run passed action taken old release date new release date

Case history Source: Tim Trew, Philips, June 1999

Control n Management actions and decisions -affect the process, tasks and people -to meet original or modified plan -to achieve objectives n Examples -tighten entry / exit criteria -reallocation of resources Feedback is essential to see the effect of actions and decisions

Entry and exit criteria Test Phase 1 Test Phase 2 "tested" is it ready for my testing? Phase 2Phase 1 Entry criteriaExit criteria Acceptance criteria Completion criteria

Entry/exit criteria examples poor better n clean compiled n programmer claims it is working OK n lots of tests have been run n tests have been reviewed / Inspected n no faults found in current tests n all faults found fixed and retested n specified coverage achieved n all tests run after last fault fix, no new faults

What actions can you take? n What can you affect? -resource allocation -number of test iterations -tests included in an iteration -entry / exit criteria applied -release date n What can you not affect: - number of faults already there n What can you affect indirectly? - rework effort - which faults to be fixed [first] - quality of fixes (entry criteria to retest)

Contents Organisation Configuration Management Test estimation, monitoring and control Incident management Standards for testing Test Management ISTQB / ISEB Foundation Exam Practice

Incident management n Incident: any event that occurs during testing that requires subsequent investigation or correction. -actual results do not match expected results -possible causes: software fault software fault test was not performed correctly test was not performed correctly expected results incorrect expected results incorrect -can be raised for documentation as well as code

Incidents n May be used to monitor and improve testing n Should be logged (after hand-over) n Should be tracked through stages, e.g.: -initial recording -analysis (s/w fault, test fault, enhancement, etc.) -assignment to fix (if fault) -fixed not tested -fixed and tested OK -closed

Use of incident metrics Is this testing approach “wearing out”? What happened in that week? We’re better than last year How many faults can we expect?

Report as quickly as possible? report 5 test can’t reproduce - “not a fault” - still there can’t reproduce, back to test to report again insufficient information - fix is incorrect dev 5 reproduce 20 fix 5 re-test fault fixed 10 dev can’t reproduce incident report test 10

What information about incidents? n Test ID n Test environment n Software under test ID n Actual & expected results n Severity, scope, priority n Name of tester n Any other relevant information (e.g. how to reproduce it)

Severity versus priority n Severity -impact of a failure caused by this fault n Priority -urgency to fix a fault n Examples -minor cosmetic typo -crash if this feature is used company name, board member: priority, not severe Experimental, not needed yet: severe, not priority

Tester TasksDeveloper Tasks Incident Lifecycle 1steps to reproduce a fault 2test fault or system fault 3external factors that influence the symptoms 4root cause of the problem 5how to repair (without introducing new problems) 6changes debugged and properly component tested 7is the fault fixed? Source: Rex Black “Managing the Testing Process”, MS Press, 1999

Metrics Example GQM n Goal: EDD < 2 defects per KloC -Q1: What is the size of the software? M1.1: KloC per module M1.1: KloC per module -Q2: How many defects in code? M2.1: Estimation of # defects M2.1: Estimation of # defects -Q3: How many defects found? M3.1: # defects in Review and Inspection M3.1: # defects in Review and Inspection M3.2: # defects in subsequent tests M3.2: # defects in subsequent tests -Q4: What is the yield of the tests done? M4.1: # defects (M3) divided by estimation (M2) M4.1: # defects (M3) divided by estimation (M2)

Metrics Exercise n Goal: In ST, do an optimal check in minimum time based on the 3 customers for Reger -Priority of processes used by customers -Coverage of the processes -Incidents found -Severity of incidents -Time planned and spent

Contents Organisation Configuration Management Test estimation, monitoring and control Incident management Standards for testing Test Management ISTQB / ISEB Foundation Exam Practice

Standards for testing n QA standards (e.g. ISO 9000) -testing should be performed n industry-specific standards (e.g. railway, pharmaceutical, medical) -what level of testing should be performed n testing standards (e.g. BS &2) -how to perform testing

Summary: Key Points Independence can be achieved by different organisational structures Configuration Management is critical for testing Tests must be estimated, monitored and controlled Incidents need to be managed Standards for testing: quality, industry, testing Test Management ISTQB / ISEB Foundation Exam Practice