Parasoft : Improving Productivity in IT Organizations David McCaw.

Slides:



Advertisements
Similar presentations
PROCESS FRAMEWORK Lecture - 3. Topics covered PROCESS FRAMEWORK PROCESS MODELS DIFFERENCE.
Advertisements

Automated Software Testing: Test Execution and Review Amritha Muralidharan (axm16u)
HP Quality Center Overview.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
More CMM Part Two : Details.
1 State of Michigan Achieving Software Process Improvement with Capability Maturity Model (CMM)
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Software Delivery. Software Delivery Management  Managing Requirements and Changes  Managing Resources  Managing Configuration  Managing Defects 
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Mike Azocar Sr. Developer Technical Specialist Microsoft Corporation
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Fundamentals of Information Systems, Second Edition
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Implementation. We we came from… Planning Analysis Design Implementation Identify Problem/Value. Feasibility Analysis. Project Management. Understand.
Introduction to Software Testing
211 Continuing Best Practices ► Slide information taken in large part from former Rational Corporation slides. Considerably modified and supplemented for.
Copyright © Panaya Oracle ® E-Business Suite Testing: How to Get Your Business Users On-Board Amir Farhi Director, Product Marketing.
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
Effective Methods for Software and Systems Integration
Business Flow Modeller (BFM) Simplify and standardize your business processes across the project lifecycle.
AGENDA Welcome and introductions Brief introduction to PSI Mobile Technical Overview Demonstration Q and A Next Actions.
Development Testing – Is It Worth It? Arthur Hicken September 2012.
Parasoft ADP solutions Automated Defects Prevention for Embedded Systems Software Development by Wiktor Grodowski.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Model Bank Testing Accelerators “Ready-to-use” test scenarios to reduce effort, time and money.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
CLEANROOM SOFTWARE ENGINEERING.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
RUP Implementation and Testing
Understand Application Lifecycle Management
Configuring the Software Development Process on Linux Arthur Hicken Parasoft Corporation
Chapter 2 소프트웨어공학 Software Engineering 임현승 강원대학교
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Visual Studio 2005 Team System: Enterprise Development and Test Sean Puffet Microsoft Ltd
An Approach To Automate a Process of Detecting Unauthorised Accesses M. Chmielewski, A. Gowdiak, N. Meyer, T. Ostwald, M. Stroiński
QuikTrac 5.5, a validated Motorola Software Solution, allows you to take your Host ERP screens and extend them out to fixed or mobile devices including.
Putting the “Engineering” in Software Engineering: Technology Infrastructure in Process Improvement Adam Kolawa, Ph.D. CEO, Parasoft.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
Software Engineering - I
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Using Service Level Agreements to Manage Outsourcers Dr. Adam Kolawa CEO Parasoft.
Controls design Controls are “the plan of organization and all the methods and measures to safeguard its assets, check the accuracy and reliability of.
Software Maintenance Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Rod Fontecilla, Ph.D. Vice President Application Services Nov 2015 Deploying Applications Using DevOps.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Compuware Corporation Deliver Reliable Applications Faster Dave Kapelanski Automated Testing Manager.
CSC444F'07Lecture 41 CSC444 Software Engineering Top 10 Practices.
D4Science and ETICS Building and Testing gCube and gCore Pedro Andrade CERN EGEE’08 Conference 25 September 2008 Istanbul (Turkey)
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
By Ramesh Mannava.  Overview  Introduction  10 secure software engineering topics  Agile development with security development activities  Conclusion.
INFSOM-RI ETICS: E-infrastructure for Testing, Integration and Configuration of Software Alberto Di Meglio Project Manager.
SG SCM with MKS scmGalaxy Author: Rajesh Kumar
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
How Sage ERP X3 Systems Can Benefit Businesses.  Sage X3 is an affordable and flexible ERP solution designed to help mid-sized companies manage business.
Software Project Configuration Management
Introduction to Magento Magento is one of the most popular ecommerce solutions in the world. But learning this powerful content management system also.
Visual Studio 2005 “Personalized productivity”
Simplified Development Toolkit
DAT381 Team Development with SQL Server 2005
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Presentation transcript:

Parasoft : Improving Productivity in IT Organizations David McCaw

Objectives Reduce the overall cost of delivering software Introduce a non-intrusive process that will improve the productivity of the development organization over time Automate previously manual tasks Establish a regression testing infrastructure to help manage change in your applications; ultimately reducing cost and speeding time to market

Complex Testing Problem Symptoms not Bugs Simple Testing Problem Catalysts to Bugs Implementation Layer Interface / Application Layer Capers Jones Study

How this is applied to software development projects Archived Data 28,000,000 lines of code 120 developers Process Improvement 10x Productivity Improvement Quality becomes a side effect

How is this done?  Principles: Basic rules for structuring and managing software projects through defect prevention  Practices: Functional embodiments of the principles  Policies: Managerial embodiments of the principles

Principle 1: Establishment of Infrastructure “Build a strong foundation through integration of people and technology”  People  Configurable technologies  Integration of the people and the technology

Principle 2: Application of General Best Practices “Learn from others’ mistakes”  Best practices from industry experts  Prevent common errors

Implementation / Code Level Analysis  Enforcement of Best Practices  Code Review support  Code Flow analysis  Automated Test Case Generation  Construction & Functional Testing  Code Coverage  Test Case Management  Regression Testing  Identifies code implementation flaws early!  Increases the quality of your code  Provides easier-to-maintain code  Scales to supports the group, project, division, as well as corporate standards  Supports easy training/transition of personnel/projects  Supports all “stages” of development  QuickFixes and Recommendations

Implementation / Code Level Analysis  Enforcement of Best Practices  Code Review support  Code Flow analysis  Automated Test Case Generation  Construction & Functional Testing  Code Coverage  Test Case Management  Regression Testing  Static Analysis addresses 80% of Code Review tasks  Identify algorithm, design and implementation flaws  Promotes flexibility in the development team  Ensures documentation of development decisions  Problem: TIME  Code Review Module automates remote peer-to-peer and pair programming

Implementation / Code Level Analysis  Enforcement of Best Practices  Code Review support  Code Flow analysis  Automated Test Case Generation  Construction & Functional Testing  Code Coverage  Test Case Management  Regression Testing  Analyzes how the code is used  Identifies dangerous paths in the code  Missing/incomplete requirements  Real null pointer problems  Resource leaks  Security vulnerabilities  XML/SQL Injects, etc.

Implementation / Code Level Analysis  Enforcement of Best Practices  Code Review support  Code Flow analysis  Automated Test Case Generation  Construction & Functional Testing  Code Coverage  Test Case Management  Regression Testing  Auto generation of test harnesses  Auto generation of code based test cases  Auto generation of stubs for external calls  Non-intrusive to development process  High productivity solution for creating everything necessary to support testing focus

Implementation / Code Level Analysis  Enforcement of Best Practices  Code Review support  Code Flow analysis  Automated Test Case Generation  Construction & Functional Testing  Code Coverage  Test Case Management  Regression Testing  Tests for quality under adverse conditions  Automatically creates test case inputs to test for quality under adverse conditions  Monitored Functional Test cases  Raises red flags in code base  Easily create test cases to test expected results based on controlled inputs  Drives quality and functionality to help meet requirements

Implementation / Code Level Analysis  Enforcement of Best Practices  Code Review support  Code Flow analysis  Automated Test Case Generation  Construction & Functional Testing  Code Coverage  Test Case Management  Regression Testing  Test case and cumulative code coverage  Visibility to help “extend” coverage via user-defined test cases  Code not covered is code not tested!  Coverage supported against single unit and multiple units

Implementation / Code Level Analysis  Enforcement of Best Practices  Code Review support  Code Flow analysis  Automated Test Case Generation  Construction & Functional Testing  Code Coverage  Test Case Management  Regression Testing  Test suite kept with class/method  Source based tests  Testing artifacts can be controlled along with source  Easy for developers/testers to evolve test suites  Easy for developers/testers to share test suites with others

Implementation / Code Level Analysis  Enforcement of Best Practices  Code Review support  Code Flow analysis  Automated Test Case Generation  Construction & Functional Testing  Code Coverage  Test Case Management  Regression Testing  Prior test run results kept with project  Click of button runs regression tests  Easily configured for nightly builds  Maintains quality of your code as it evolves

Principle 5: Automation “Let the computer do it”  System complexity makes automation a necessity  Automation…  Improves job satisfaction and productivity  Improves product quality  Facilitates human communication  Helps to implement and verify best practices and organizational standards  Facilitates control of the software processes by collecting measurement data

Infrastructure Supporting Human Mind Auto verification of policy adherence Support for auto rebuilds Auto verification of internal structure Auto verification that functionality did not change Support for peer code reviews

Principle 4: Measurement and Tracking of Project Status “Understand the past and present to make decisions about the future”  Identify problems promptly  Assess product quality and deployment readiness  Requires automated reporting system

GRS Visibility Did the code change? Did it build? Was it reviewed? Did it implement requirements? Did it fix bugs? Does it work?

Team-wide Deployment and Workflow SCM Source Control code & tests TCM Team Configuration Manager Test Results Scheduled Test Server Analytical Dashboard Professional Editions Server Edition (Batch Mode) Architect Edition Team Coding Standards Developer Machines Architect / Technical lead Nightly Results Program Manager Architect

Developer Visibility

Where does this lead?  Better software production methods  Higher productivity  Better software quality