24
Development Testing – Is It Worth It? Arthur Hicken September 2012

Development Testing – Is It Worth It?

Embed Size (px)

DESCRIPTION

Development Testing – Is It Worth It?. Arthur Hicken September 2012. GoToWebinar Housekeeping. Your Participation. Open and hide your control panel Join audio: Choose “ Mic & Speakers” to use VoIP Choose “Telephone” and dial using the information provided - PowerPoint PPT Presentation

Citation preview

Page 1: Development Testing – Is It Worth It?

Development Testing – Is It Worth It?

Arthur HickenSeptember 2012

Page 2: Development Testing – Is It Worth It?

Open and hide your control panel

Join audio:• Choose “Mic & Speakers” to use

VoIP• Choose “Telephone” and dial

using the information provided

Submit questions and comments via the Questions panel

Note: Today’s presentation is being recorded and will be provided within 48 hours.

Your Participation

GoToWebinar Housekeeping

Page 3: Development Testing – Is It Worth It?

Parasoft Proprietary and Confidential

About Parasoft

Founded in 1987 Runtime Error Detection in 1993 Static Analysis tools since in 1994 Automated Test Generation in 1997 Development Testing Platform in 2003 Automated Defect Prevention published 2007 Automated Defect Prevention: Best Practices in Software

Management published 2007 27 Patents for automated quality processes Build quality into the process

Page 4: Development Testing – Is It Worth It?

Parasoft Capabilities

Technologies Quality Policy Management Task Management Code Analysis – Pattern Based Code Analysis – Flow Based Code Analysis - Metrics Code Review Unit Testing Framework Memory Error Detection Runtime Analysis Message/Protocol Testing Application Behavior Emulation Functional Testing Load Testing

Parasoft Proprietary and Confidential

Page 5: Development Testing – Is It Worth It?

What is Development Testing?

What is it? Best practices Processes Infrastructure Desktop Policy and Business needs

What Development Testing is Not A replacement for QA Simply a shift of the test process A silver bullet

Page 6: Development Testing – Is It Worth It?

6

Aspects of Development Testing

Development Best Practices in place Requirements Traceability / Compliance / Audit Static Analysis Peer Review Unit Testing Source Control Integration Developer IDE Integration Automated / Continuous build Metrics Workflow Infrastructure

Parasoft Proprietary and Confidential

Page 7: Development Testing – Is It Worth It?

7

Isn’t QA Enough?

Development Testing begins where QA Ends Or vice-versa

Policy driven Process oriented Engineering focused Focus on Prevention

Parasoft Proprietary and Confidential

Page 8: Development Testing – Is It Worth It?

Why Prevention? The Cost of Errors

Page 9: Development Testing – Is It Worth It?

Why Prevention? The Cost of Errors

Page 10: Development Testing – Is It Worth It?

10

An Ounce of Prevention

Early Detection is… Better than Just Q/A Detection != Prevention

Feedback loop Frequent issues from Peer Review Field reports QA findings

The misunderstood relationship between flow analysis and pattern-based static analysis

Creating a software environment where bugs cannot survive.

Parasoft Proprietary and Confidential

Page 11: Development Testing – Is It Worth It?

Plan and manage your project fulfill customer requirements precisely distribute work and resources predict whether your plan is feasible to meet deadlines

Monitor and manage progress have instant access to the status and evidence of risks of current projects

Comply follow project / organization policies adhere to best industry practices fulfill contractual obligations

Certify and Audit provide traceability to fulfill certification criteria

(ISO-x, FDA, DO-178, IEC-x, etc.) decrease certification cost support standards like MISRA, JSF, etc.

Improve optimize products and processes based on historical data (post-mortem analysis) increase efficiency, performance and utilization track down where your cost is located

Management and Traceability

Page 12: Development Testing – Is It Worth It?

Monitor/Manage Processes: Manager Dashboard

Parasoft Proprietary and Confidential

Page 13: Development Testing – Is It Worth It?

13

Policy - Is It Working?

Setup policies Test Coverage Unit Tests Executed SA Compliance Peer review expectations Measure – Monitor - Improve

Base threshold on current results Incremental improvement

Parasoft Proprietary and Confidential

Page 14: Development Testing – Is It Worth It?

Static Analysis

Variety of methods Peer Review / Manual Code Review / Code Inspection Pattern-based code scanners Flow-based code scanners Metrics-based code scanners Compiler / build output

Parasoft Proprietary and Confidential

Page 15: Development Testing – Is It Worth It?

SA for Process Improvement

Flow rules have corresponding pattern-based rules Prevent the potential rather than chase paths Analyze issues and select SA based on real problems Analyze flow-analysis issues and select pattern rules to

prevent

Parasoft Proprietary and Confidential

Page 16: Development Testing – Is It Worth It?

Peer Review

Great for mentoring Great for conceptual work Avoid formatting & other

things the computer can do

Parasoft Proprietary and Confidential

Page 17: Development Testing – Is It Worth It?

Metrics

KLOC Complexity Maintainability Index Numbers (files, lines, methods)

Parasoft Proprietary and Confidential

Page 18: Development Testing – Is It Worth It?

Monitor/Manage Processes: Tests Overview

Parasoft Proprietary and Confidential

Page 19: Development Testing – Is It Worth It?

Trend Reporting

Reports should show violations Show trends Breakdowns

File Violation type Severity developer

Parasoft Proprietary and Confidential

Page 20: Development Testing – Is It Worth It?

Parasoft Proprietary and Confidential

Results within IDE

1 Results delivered as uniform view within IDE

2 Directly access line of code to fix

3 Check-in

Page 21: Development Testing – Is It Worth It?

21

Workflow

Plan processes Audit trail Ingrain expected behavior

Parasoft Proprietary and Confidential

Page 22: Development Testing – Is It Worth It?

Sample SDLC & Integration

RMS/BTS/SCM integrated – easy collaboration

Task Management System – all activities in one common list of tasks

Automated and Manual Tests, Automated Code Review

Traceability from Requirements, Defects, Tasks to Tests and Source and Code Review

Automated Notification

Prioritized tests based on changes

Extensive reports for CIO, Stake Holders, Project Managers

AUTOMATICTEST

SERVERS

CIOPROJECT

MANAGERMS

PROJECT

QA TEAM

BTS SOURCECODE

DEVELOPERS

DEVELOPERSRMSREQANALYST

Page 23: Development Testing – Is It Worth It?

23

Should I Care about Development Testing?

Why pay attention today? Moving goal posts Agile development Ad-hoc tool usage will not get the job done

Parasoft Proprietary and Confidential

Page 24: Development Testing – Is It Worth It?

Q&A / Further Reading

Parasoft Proprietary and Confidential

Automated Defect Prevention (Huizinga & Kolawa)

…Principles and processes to improve the software development process.

Effective C++ / More Effective C++ (Meyers)

…Definitive work on proper C++ design and programming.

Effective Java (Bloch)

…Best-practice solutions for programming challenges.

Design Patterns (Gamma, Helm, Johnson, Vlissides)

…Timeless and elegant solutions to common problems.

[email protected] [email protected]