Most Important Tests (MITs) Most Important Tests is just a method which focuses on the risky and important areas of the system to test –Based on statistical.

Slides:



Advertisements
Similar presentations
Testing Coverage Test case
Advertisements

Testing Workflow Purpose
Test Yaodong Bi.
Project Management Process. Managing the Information Systems Project Focus of project management To ensure that information system projects meet customer.
Test Inventory A “successful” test effort may include: –Finding “bugs” –Ensuring the bugs are removed –Show that the system or parts of the system works.
The Relationship between Cost & Quality Submitted by: Haya A. El-Agha Submitted to: Eng. Hani Abu Amr.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Project Management: A Critical Skill for Organizations Presented by Hetty Baiz Project Office Princeton University.
Improving Process for Better Software. Who We Are An experiential learning program that provides technology solutions for our partners, and real- world.
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
Usability Inspection n Usability inspection is a generic name for a set of methods based on having evaluators inspect or examine usability-related issues.
Iterative development and The Unified process
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Business Intelligence Dr. Mahdi Esmaeili 1. Technical Infrastructure Evaluation Hardware Network Middleware Database Management Systems Tools and Standards.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Software Engineering Institute Capability Maturity Model (CMM)
Advertising in Arab countries The Coca Cola Poster.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Change Control.
COMPGZ07 Project Management Presentations Graham Collins, UCL
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Engineering Chapter 12 The Generic Iteration Workflow Fall 2000.
System Analysis and Design
Agile Programming Principles.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Software Testing Life Cycle
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
MEASUREMENT PLAN SOFTWARE MEASUREMENT & ANALYSIS Team Assignment 15
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Chapter 6 : Software Metrics
Testing Workflow In the Unified Process and Agile/Scrum processes.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
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.
1 Improving Data Quality. COURSE DESCRIPTION Introduction to Data Quality- Course Outline.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
XP Explained Chapters 7-9. Primary Practices  Sit together Ideal Resistance Multi-site  Whole Team All the necessary skills in a single management structure.
Software Project Planning Part II. Troutman's Postulates Profanity is the one language understood by all programmers. Not until a program has been in.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
Effort.vs. Software Product “Quality” Effort Product “Quality” Which curve? - linear? - logarithmic? - exponential?
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Chapter 6: THE EIGHT STEP PROCESS FOCUS: This chapter provides a description of the application of customer-driven project management.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Dan Luttrell, Northrop Grumman USC Agile Experiences Workshop March 17-19, 2004 Agile Process in a DOD Environment - One Project’s.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Stand Up Comedy Project/Product Management
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Project.
Software Testing Process
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
Agile 101. Feasibility Study SDLC – What is it? Systems Development Life Cycle: The most commonly used, and generally accepted, project management approach..
1. WHAT IS A PROJECT? “A project is a problem scheduled for solution.” This definition forces us to recognize that projects are aimed at solving problems.
Z26 Project Management Presentations Lecture 5b 9 th February 2006 Graham Collins, UCL.
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?
Chapter 16 Maintaining Information Systems. Objectives:  Explain and contrast four types of system maintenance.  Describe factors affecting maintenance.
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
Week # 4 Quality Assurance Software Quality Engineering 1.
ITIL: Service Transition
Testing dan Implementasi Sistem materi 4
Methodologies and Algorithms
Taking an Iteration Down to Code
Case Study: The Accounting Software Installation Project
Rest of Project Management
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

Most Important Tests (MITs) Most Important Tests is just a method which focuses on the risky and important areas of the system to test –Based on statistical analysis of the “risky” areas of the system that needs testing. Where is the statistic coming from ? –Inspections and reviews? –Personnel history of the developers? –Past projects –The risky areas are then prioritized to identify the “important” areas How would you prioritize them? –Gain agreement on the prioritized list of test areas Make sure resources are received for the test effort

Example from your Assignment 1 Test 1 Test 2 typeReview (formal/inform) material Requirements Specification doc size3 pages major functions4 effort expended 3 x 30minutes = 1.5 pers.-hr total problems found * 6 effectiveness 90 p-m/6 bugs= 15p-m/bug found Code execution “Unit tested” code * Breakdown of the problems found and their resolution Any other items that you may want to track ?

Breakdown of Problems Found Prob. # # 1 Severity* high * There exists a severity description Functional AreaStatus Get statistics by: - Functional area - Severity - Author -Status - etc.

MITs Methodology Provides “tools” for sizing the test effort that allows trade-offs: –Test coverage –Resources –Schedule “tools” for tracking the testing activities’ progress (using S-curve) –Track problems found –Status reporting –Determining end of testing

S- curve Time or Effort Total # of Problems found Return on testing effort starts to Diminish (time to consider stopping)

How do We Use S-Curve? 1.Track a set of tests of a “product” over a period of time. Run a set of tests (covering different areas) Fix the errors Rerun the set of tests What is your guess of the “shape” of S-curve? 2.Track a series of different tests (reviews, unit test, functional test, etc.) of different “stages of a product” over time. Conduct requirements review Conduct design review Conduct unit test Conduct component test Conduct system test What is your guess of the “shape” of S-curve?

Deciding when to Quit Testing Seed the product with errors – call it x Keep account of the number of seeded errors discovered --- call it y Keep track of real errors found – call it r Then tabulate or estimate the total number of errors in the product --- call it total, utilizing the following relationship. – y/x = r/total – total = r * x/y Ask if you can live with an estimated (total – r) errors left in the system.

Set of MITs Activities 1.Publishing test inventory containing all assumptions and requirements of test 2.Count and enumerate all the identified test areas and test cases (not necessary to be executed) 3.Prioritize and rank the enumerated test areas and cases 4.Estimate the effort required to execute each test case 5.Negotiate with management or person who holds resources on the required resources for each of the test coverage/schedule trade-offs.

Set of MITs Activities (cont.) 6.After picking the most important areas for testing perform the following for designing the actual test cases: –path analysis –Data analysis 7.If necessary, renegotiate the resources, schedule, etc. once more is known about the test cases 8.Execute the test cases 9.Track the test progress utilizing the S-curve and determining when to stop 10.Perform a test post mortem to evaluate and plan for improvement. Ideally, these steps should all be utilized, but in reality some are skipped.

Factors Influencing MITs Activities Ease of Implementation –Some steps require a lot pre-training –Some steps require very special skills Cost of Implementation/Return on Investment –Problems found and fixed during pre-release require resources and time. –Problems that are found and fixed during post release require another set of resources and time –(Which is more costly ?) discuss Development Methodology –Some methodology has extensive built in test steps (from planning to tracking); others don’t.

Easier MITs Activities Bug and problem tracking Test inventory & test coverage Planning and performing path and data analysis Ranking the test areas by risk Test effort estimation Test performance metrics Within these activities which ones are easier than others? Why? What do you use as criteria? (resource need, technical skills, etc.)

Harder MITs Activities S-curve analysis –Requires some experience and past data to even have an S- curve Test re-run automation –Needs to capture the conditions of the previous run –Capturing the test cases for automatically re-run pays off if the test cases are re-ran multiple times, especially for software products with multi-releases. Automated test plan generation –Developing test areas from requirements may be easier if Use Cases or other better defined requirements language is used

How Much MITs ? The steps in MITs ought to be selected and modified according to the type of project –May use the full range of MITs if the software project is run: Using traditional “waterfall-like” process Large and complex software Risk averse Highly mission critical –May emphasize certain parts of MITS over others if the software project is run: Using a more Agile approach such as eXtreme programming Small to medium size software Less risk averse not mission critical

How Test Fits in for You? RequirementsDesignCode Test Planning Test Prep Test & Fix RELEASERELEASE

Word of Caution Current fashion of Agile development does not equate to no planning. However –Many are mistakenly doing less or no planning –Emphasis on understanding and documenting requirements is casually allowed to erode User/customer physically close to the developers and are often paired with developers Lot of the requirements are verbal Changes to requirements are not closely controlled under the misnomer of “flexibility” What is your guess of the effect of this attitude to: - testing? (more or less testing? More or less effective testing?)) - quality? (more or less satisfied customer? More or less bugs?)