Quality Assurance For Mathematical Modeling Systems



Similar documents
GAMS Productivity - Performance - Reliability

Automated Performance Testing and Analysis. Armin Pruessner GAMS Development Corporation

for Algebraic Modeling Systems?

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Fundamentals and Recent Developments of the GAMS System

Design Document Version 0.0

Software Testing Lifecycle

How To Improve Software Quality

How To Integrate Software And Systems

Software Test Plan (STP) Template

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

Appendix H Software Development Plan Template

An Introduction to. Metrics. used during. Software Development

Solving convex MINLP problems with AIMMS

Requirements for Software Deployment Languages and Schema

Configuration Management Practices

SBB: A New Solver for Mixed Integer Nonlinear Programming

Stefan Vigerske Curriculum Vitae

Software Engineering Question Bank

Instituto Superior Técnico Masters in Civil Engineering. Lecture 2: Transport networks design and evaluation Xpress presentation - Laboratory work

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

Software Development: The Waterfall Model

Software Engineering talk

Oracle Insurance Policy Administration System Quality Assurance Testing Methodology. An Oracle White Paper August 2008

a new generation software test automation framework - CIVIM

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

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

International Journal of Advance Research in Computer Science and Management Studies

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Enterprise resource planning Product life-cycle management Information systems in industry ELEC-E8113

Quality Management. Lecture 12 Software quality management

SOFTWARE CONFIGURATION MANAGEMENT GUIDEBOOK

Software configuration management

An integrated life cycle quality model for general public market software products

Levels of Software Testing. Functional Testing

Refinery Planning & Scheduling - Plan the Act. Act the Plan.

Cloud Branching. Timo Berthold. joint work with Domenico Salvagnin (Università degli Studi di Padova)

Administering Microsoft SQL Server Databases

ASSURING SOFTWARE QUALITY USING VISUAL STUDIO 2010

Latest Trends in Testing. Ajay K Chhokra

Product Build. ProPath. Office of Information and Technology

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

Demand Response Management System ABB Smart Grid solution for demand response programs, distributed energy management and commercial operations

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

Test Specification. Introduction

Introduction to Automated Testing

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

Software Engineering Principles The TriBITS Lifecycle Model. Mike Heroux Ross Bartlett (ORNL) Jim Willenbring (SNL)

Integrating Team Foundation Server, Microsoft Test Manager and Coded UI Tests

GAMS, Condor and the Grid: Solving Hard Optimization Models in Parallel. Michael C. Ferris University of Wisconsin

Data Management Maturity Model. Overview

Role of Software Quality Assurance in Capability Maturity Model Integration

I. TABLE OF CONTENTS... 1

Energy capacity planning and modeling

1. Software Engineering Overview

SAPHIRE 8 Software Configuration Management Plan

Administering Microsoft SQL Server Databases

Administering Microsoft SQL Server Databases

Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace

SOFTWARE PERFORMANCE TESTING SERVICE

Certification Report

Software Product Quality Practices Quality Measurement and Evaluation using TL9000 and ISO/IEC 9126

consulting training auditing Steven R. Rakitin

Effective Software Security Management

Internal Quality Management System Audit Checklist (ISO9001:2015) Q# ISO 9001:2015 Clause Audit Question Audit Evidence 4 Context of the Organization

1. Introduction. Annex 7 Software Project Audit Process

MNLARS Project Audit Checklist

Custom Software Development Approach

Configuring and Monitoring SharePoint Servers

CSTE Mock Test - Part I - Questions Along with Answers

Introduction to Linear Programming (LP) Mathematical Programming (MP) Concept

FSW QA Testing Levels Definitions

Benefits of Test Automation for Agile Testing

Software Project Audit Process

Independent Verification and Validation of SAPHIRE 8 Software Project Plan

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

IEC Overview Report

The Security Development Lifecycle

Automated Testing Best Practices

Software Project Plan

Optimal Planning Software Platform Development with Cloud Computing Technology

codebeamer INTLAND SOFTWARE codebeamer Medical ALM Solution is built for IEC62304 compliance and provides a wealth of medical development knowledge

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York


Upping the game. Improving your software development process

Certified Software Quality Assurance Professional VS-1085

ITIL v3 Foundation -Overview. Eric Foust, PMP, ITIL

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

Department of Finance and Deregulation 2011/004 Portfolio Panels for IT Services ATTACHMENT A

Information Technology Policy

Transcription:

Quality Assurance For Mathematical Modeling Systems Armin Pruessner, Michael Bussieck, Steven Dirkse, Alex Meeraus GAMS Development Corporation 1217 Potomac Street NW Washington, DC 20007 1

Agenda Motivation Definitions and Components Challenges Software Quality Assurance at GAMS Testing new Solver Links Client Model Testing Summary 2

Motivation Quality Assurance Essential component in most industries Important in most software engineering sectors Mathematical Programming Less attention to quality assurance (small community) Specific QA issues for modeling systems (initially expensive) Different focus for industry and academic industry academia Focus on reliability Focus on performance 3

Definitions Quality: The totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs (ISO 8402) Software Quality Assurance (SQA): Set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use (Schulmeyer and McManus) 4

Definitions cont d Key components of SQA (which includes monitoring of products and processes): Software configuration management (SCM): All activities related to version control and change control Quality control and testing: monitoring the products Focus on the quality of product within each phase of the software development lifecycle Objective: identify and remove defects throughout the lifecycle, as early as possible 5

Components Software configuration management: All activities related to version control and change control Goals: Identify and control changes Ensure that change is being properly implemented Report changes in the software to others who may need to know of them 6

Components Quality control and testing of the product Unit testing (initial tests by developer) Regression testing (interaction with other modules) System Integration Testing (full scale testing) Metrics Bug tracking tools Goal: Uncover defects during the complete life cycle of the software as early as possible 7

Algebraic Modeling Systems Architecture GUI Other Interfaces Databases BASE Module Other external Programs Solver Other external Programs Sub-Solver Sub-Systems BASE Module 8

Algebraic Modeling Systems Basic Principles Separation of model and solution methods Balanced mix of declarative and procedural approaches Computing platform independence Multiple model types, solvers and platforms 9

Algebraic Modeling Systems Multiple Model Types LP Linear Programming MIP Mixed Integer Programming NLP Nonlinear Programming QCP/MIQCP Quadratic Programming Conic Programming MCP Mixed Complementarity Programming MINLP Mixed Integer Nonlinear Programming MPEC NLP with Complementarity Constraints MPSGE General Equilibrium Models Stochastic Optimization Global Optimization 10

Challenges Expense: Rigorous SQA is initially expensive MP industry is small Limited control about certain parts of the system solvers are black box modules Distributed development of the system and various components 11

Challenges: Chance of Failure QA issues specific to Modeling Systems: Implementation defect Applies to all sectors Solver failure Specific to MP sector 12

Implementation Defect Blue Screen of Death in Microsoft Windows NT Not acceptable 13

Solver Failure Solver does not find a solution S O L V E S U M M A R Y Acceptable MODEL one OBJECTIVE output TYPE NLP DIRECTION MAXIMIZE **** SOLVER STATUS 4 TERMINATED BY SOLVER **** MODEL STATUS 6 INTERMEDIATE INFEASIBLE **** OBJECTIVE VALUE 948403.4844 RESOURCE USAGE, LIMIT 1.906 1000.000 ITERATION COUNT, LIMIT 0 10000 EVALUATION ERRORS 0 0 14

Challenges: Chance of Failure QA issues specific to Modeling Systems: Implementation defect Solver failure Applies to all sectors Specific to MP sector Additionally, must protect the user in case of solver failure Complex metric for return codes is necessary Complicates QA activities since this adds an additional level of complexity 15

SQA at GAMS 1. Software configuration management 2. Quality control and tests of the product 3. Client model testing 4. Performance comparison tools: Paver Bench 5. Solution verification tool: Examiner 6. Model converter and encryption tool: Convert 16

SQA at GAMS (SCM) Software configuration management Audit strings C O N O P T 3 Jan 19, 2004 WIN.CO.CO 21.3 015.050.041.VIS Library 313C C O N O P T 3 BETA 28Jul04 WIN.CO.CO 21.4 015.051.041.VIS Library 314D Build automation tools: Automatic build of the whole system every week - build early and build often Simple source management system (automatic version and audit string checks) 17

Version Check of Source More than 46 components! 18

SQA at GAMS (Testing) Quality control and tests of the product Goal: Continuous quality improvement using automated and reproducible tests Test libraries (available online): GAMS Model Library (solver tests) GAMS Quality Test Models Library (modeling system test) Continuous addition of new test models 19

General testing process Continuous addition of new test models throughout life cycle 20

SQA at GAMS Quality Test Models Library Include tests to verify proper behavior of the system More than 180 quality test models, each containing numerous pass/fail tests:... abort$card(delta) 'time routines have an error';... Automatic generated test summaries with different level of information 21

SQA at GAMS Summary of two quality runs *** Status: Normal completion --- quality.gms(284) 4 Mb --- quality.gms(287) 4 Mb 1 Error There were errors: 4 out of 267 tests failed. See the file failures.gms to reproduce the failed runs --- Putfile this D:\support\testlib\onetest.gms --- quality.gms(287) 4 Mb 1 Error *** Status: Execution error(s) ================================================ *** Status: Normal completion --- quality.gms(284) 4 Mb --- quality.gms(295) 4 Mb Congratulations! All 267 tests passed. See the file alltests.gms to reproduce all the runs --- Putfile this D:\support\testlib\onetest.gms *** Status: Normal completion 22

Testing New Solver Links Solver developer has connected his solver to GAMS (e.g. a COIN solver) Automated tests to check basic functionality of the solver and the link to GAMS: $title Simple level and sign test (LP02,SEQ=67) * In this test series we status if a solver gets the levels * and marginals right... abort$( abs(cost.m-cost_m) > tol) 'bad cost.m'; Gives developer and users assurance about the basic functionality of the link and the solver 23

Client Model Testing Client with complex application (gasoline blending system) New GAMS version available: Relevant new features? Performance gains? No surprises? Bugs Different results (MIP models) 24

Client Model Testing Client Application: Gasoline Blending 25

Client Model Testing Want guarantee that their application will work with the new version Only limited ressources to do major testing themselves Confidentiality issues: Running tests without having access to internal model structures and model data (in a human readable format) 26

Client Model Testing Gives clients assurance that their application will also work with new GAMS releases Includes: Ability to solve (= no bugs) Returns the same solution back Similar or better performance Requires changes to the model of the clients to allow automated pass/failure tests Improves communication between development team and clients (specific wishes) 27

Lessons Automate the QA process and the certification Build early and build often Incorporate QA tools into the software and share the QA process Make the QA process transparent and reproducible Involve solver developers and clients into the QA process 28

Summary SQA becomes more and more important for MP industry Our focus is on automated configuration management and automated testing (reproducible full life cycle testing) Most of the test components are available as transparent GAMS models Involvement of the clients in the QA process is essential Benefits both for solver developers, for clients and for GAMS 29

References Bussieck, M.R., Drud, A.S., Meeraus, A. and Pruessner, A. (2002), Quality Assurance and Global Optimization, C. Bliek, C. Jermann, A. Neumaier, eds. Global Optimization and Constraint Satisfaction, First International Workshop on Global Constraint Optimization and Constraint Satisfaction, COCOS 2002, LNCS2861. Springer Verlag, Heidelberg Berlin, (223-238). Bussieck, M.R., Dirkse, S.D., Meeraus, A. and Pruessner, A. (2004), Software Quality Assurance for Mathematical Modeling Systems, forthcoming International Organization for Standardization (2004), online at:http://www.iso.org. PAVER Server (2004), online at http://www.gamsworld.org/performance/paver Pruessner, A. (2002), Automated Performance Testing and Analysis, online at http://www.gams.com/presentations/present_automation.pdf Schulmeyer, G.G. and McManus, J.I. (1998), Software Quality Handbook, Prentice Hall 30