Quality Assurance: Early Work Items



Similar documents
Key Points. Quality Assurance and Testing. Defect Process. Developer Practice

SA Tool Kit release life cycle

In this Lecture you will Learn: Implementation. Software Implementation Tools. Software Implementation Tools

The Security Development Lifecycle

FSW QA Testing Levels Definitions

Product Development Best Practices

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

a new generation software test automation framework - CIVIM

Software Testing Lifecycle

Best Practices, Process

Sample Exam Foundation Level Syllabus. Mobile Tester

AUTOMATED MOBILE TESTING REQUIRES BOTH REAL DEVICES AND EMULATORS

Automated Mobile Testing Requires Both Real Devices and Emulators

Custom Software Development Approach

Introduction to Automated Testing

Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

Quality Testing. Assured.

Implementing Continuous Integration Testing Prepared by:

Integrating Automated Tools Into a Secure Software Development Process

10231B: Designing a Microsoft SharePoint 2010 Infrastructure

Maximize Software Development ROI With Quality Assurance. Showing the value of the Quality Process

Requirements-Based Testing: Encourage Collaboration Through Traceability

Aspire's Approach to Test Automation

RUN THE RIGHT RACE. Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Situational Awareness Through Network Visualization

Git Branching for Continuous Delivery

CSTE Mock Test - Part III Questions Along with Answers

MOBILE METRICS REPORT

Getting Things Done: Practical Web/e-Commerce Application Stress Testing

Points of Defect Creation

Infuse Consulting Limited Test Tool Training Service Definition

Gamification in Software Testing and QA. Robert Hoischen Producer & QA Manager, Camshaft Software

Success strategies for avoiding common pitfalls of health care CRM implementation

AUTOMATED TESTING and SPI. Brian Lynch

4.13 System Testing. Section 4 Bidder's Products, Methodology, and Approach to the Project System Training

CUT COSTS, NOT PROJECTS

The Importance of Continuous Integration for Quality Assurance Teams

Database Development Best Practices. Database Development Best Practices. Copyright 2006 Quest Software

Positioning Performance Testing to Cut Costs of Cloud Computing

Best Overall Use of Technology. Jaspersoft

Business Analysis Workshops

Cursuri Certificare Microsoft

Agile QA Process. Anand Bagmar Version 1.

Training Plan CONTOSO, LTD MICROSOFT DYNAMICS AX SOLUTION

Migration from SharePoint 2007 to SharePoint 2010

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing

Robustness Testing of the Microsoft Win32 API

The Benefits of Utilizing a Repository Manager

Continuous Integration Processes and SCM To Support Test Automation

Windows 7 Upgrade Risk Mitigation Planning: Ensuring Windows 7 Upgrade Success

Fundamentals of Measurements


Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

Microsoft Modern ALM. Gilad Levy Baruch Frei

Integrated Testing Solution Using SAP Solution Manager, HP-QC/QTP and SAP TAO

Planning, Deploying, and Managing an Enterprise Project Management Solution

Smarter Balanced Assessment Consortium. Recommendation

The Power of Process, People, and Tools When Testing a Complex Integration Landscape for a Very Large Initial Retail ERP Implementation

Enterprise Project Management Buyer s Guide

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

Quality is the responsibility of the whole team

How To Manage Project And Portfolio Management In Microsoft Office 2010

Use service virtualization to remove testing bottlenecks

Upping the game. Improving your software development process

fdsfdsfdsfdsfsdfdsfsdfdsfsdfsdfsdfs Square Box Systems Technical Support

Application Management Services (AMS)

Continuous Delivery Workshop

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Software Quality Management

Planning and Administering Windows Server 2008 Servers

Taking the First Steps in. Web Load Testing. Telerik

Levels of Software Testing. Functional Testing

T14 Thursday, November 4, :30 PM

In-The-Wild Testing : The Missing Link in the QA Chain

MS PRO: Designing Applications for Microsoft SharePoint 2010

Course 6426: Configuring and Troubleshooting Identity & Access Solutions With Windows Server 2008 Active Directory Page 1 of 6

Quality Assurance Training Program

ElegantJ BI. White Paper. The Enterprise Option Reporting Tools vs. Business Intelligence

Operating System Security

What is a life cycle model?

Rational Telecom Cloud Positioning

Accelerate Testing Cycles With Collaborative Performance Testing

Often Clients tend to use in-house functional resources for their testing and validation processes ending up with issues such as

CREDENTIALS & CERTIFICATIONS 2015

The Security Development Lifecycle. Steven B. Lipner, CISSP Senior Director Security Engineering Strategy Microsoft Corp.

Tonight s Speaker. Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

The Deployment Production Line

Developing ASP.NET MVC 4 Web Applications

Table of contents. Enterprise Resource Planning (ERP) functional testing best practices: Ten steps to ERP systems reliability

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

ENTERPRISE APP QUALITY. Why the world s biggest brands turn to Applause to achieve 360 app quality

Contents. -Testing as a Services - TaaS 4. -Staffing Strategies 4. -Testing as a Managed Services - TaaMS 5. -Services 6.

Surround SCM Best Practices

Designing and Deploying Messaging Solutions with Microsoft Exchange Server 2010 Service Pack B; 5 days, Instructor-led

AGILE SOFTWARE TESTING

MOC 10324A: Implementing and Managing Microsoft Desktop Virtualization

Global Software Change Management for PVCS Version Manager

Transcription:

Quality Assurance: Early Work Items Introduction: Ian King Software Test Lead, Microsoft Corporation Manager of Test Development for Windows CE Base OS (kernel, drivers, file systems) Previous projects at Microsoft: MSN 1.x online service, Site Server 3.0, TransPoint online service, Speech API 5.0 Previously: business analyst, Pacific Telecom Introduction to QA concepts QA, QC and testing Quality Assurance: making it right the first time Quality Control: making it right every time (i.e. in production) QA and QC both include testing as an activity What is the value add of QA? Classic research: fixing a defect is cheaper the earlier you catch it $: found in spec process $$: found during implementation $$$: found during post-implementation testing $$$$: found in the field QFE, service packs, product recalls, lawsuits Customer confidence Make It Didn t Happen The best bug is the one that was never born! QA is about process Design review Implementation review Structured testing and evaluation Instrumentation/testability Best practices QA does not mean bodies: Pacific Telecom Lesson of History: good process leads to fewer defects The deliverable of QA QA delivers information What is known about the quality of the code? What are the risks of known defects? What is not known, i.e. untested? What risks may arise from unknown defects? E.g. We didn t test for malicious use Bearer of bad news Validation of the vision 1

Scaling to the project Large project Individual design/programming and QA teams Another team to coordinate and administer Medium-sized project QA often assumes coordination role Small/solo project Develop functional schizophrenia Write it down QA is everyone s job! testing is only one part. What does QA do early in the development cycle? Publish (and promote) QA requirements Review design work Develop testing strategy Establish QA Requirements Statement of requirements Feature specifications Implementation specifications Design change process Development schedule Build process Developer practice Defect process Release criteria Statement of Requirements: Why are we here? Who is the customer? What problem are we solving for the customer? Should NOT include: Feature details Implementation details Feature Specifications What will we make to solve the customer s problem? Does not prescribe implementation Descriptive: Workflow Actor Interface 2

Implementation specifications Typically for large projects, but always beneficial How is a feature implemented? Details of resource usage, exception handling, use of published standards, etc. Dependency on other feature implementation Dependency on external factors Development environment (SDKs) Other products modules (e.g. MSXML) Design Change Process How are design changes documented? DCR vs. bug How are change decisions made? When has the ship sailed? Design Freeze Development Schedule When will specs be complete? When will code be available? When will features be complete? When will code be stable? Beta releases? Leave enough time for the endgame: Complete test pass on Release Candidate Test of final installation media (may include digital signing, release notes) To beta, or not to beta Quality bar for beta release: features mostly work if you use them right Pro: Get early customer feedback on design Real-world workflows find many important bugs Con: Do you have time to incorporate beta feedback? A beta release takes time and resources Build Process Source control Undo the oops Centralized build Be sure everyone is testing the same bits Avoid platform dependencies (msvcrtd) How often are new builds generated? Periodic Event-Driven Configuration management Developer Practice Private builds Buddy builds Code review Code analysis tools Unit testing 3

Defect Process Why are defects tracked? How are defects tracked? What is the lifecycle of a bug? How are defects prioritized? Controlled check-ins/triage process Defect analysis: Defect source analysis Root cause analysis Release Criteria When are we done? Indicators of completeness: Quantity of defects being found Severity of defects being found Completeness of testing Review Design Work Are these documents sufficient to scope the project? Are they logically consistent? Is the project testable? Test hooks, registry entries, compiler directives Instrumentation Does the project address the stated requirements? Review Design Work (con t.) Evaluate use scenarios Sensible control flows? Features appropriate to use? (E.g. quiesce server) Evaluate failure scenarios Meaningful error feedback Single points of failure Cascading failures Understand dependencies Developing Test Strategy Elements of Test Strategy Test specification Test plan Test harness/architecture Test case generation Test schedule 4

Test Specifications What questions do I want to answer about this code? Think of this as experiment design In what dimensions will I ask these questions? Functionality Security Reliability Performance Scalability Manageability Test Plans How will I ask my questions? Think of this as the Methods section Understand domain and range Establish equivalence classes Address domain classes Valid cases Invalid cases Boundary conditions Error conditions Fault tolerance/stress/performance Test Harness/Architecture Test automation is nearly always worth the time and expense How to automate? Commercial harnesses Roll-your-own (TUX) Record/replay tools Scripted harness Logging/Evaluation Test Cases Actual how to for individual tests Expected results One level deeper than the Test Plan Automated or manual? Environmental/platform variables Test Schedule Phases of testing Unit testing (may be done by developers) Component testing Integration testing System testing Dependencies when are features ready? Use of stubs and harnesses When are tests ready? Automation requires lead time The long pole how long does a test pass take? Where The Wild Things Are: Challenges and Pitfalls Everyone knows hallway design We won t know until we get there I don t have time to write docs Feature creep/design bugs Dependency on external groups 5