Software Testing in Science
|
|
|
- Penelope Kelley
- 9 years ago
- Views:
Transcription
1 Software Testing in Science Dr. Axel Kohlmeyer Senior Scientific Computing Expert Information and Telecommunication Section The Abdus Salam International Centre for Theoretical Physics
2 Scientific Software Development Idiosyncrasies Scientific software is developed to solve specific problems, not to generate revenue => less pressure to prove a feature is working The developer is often also the customer => superficial testing is considered adequate, since you have confidence in your capabilities => How can the software be wrong if it gives the right answer, anyway? Many developers have no formal training in software engineering, so they don't even know 2
3 More Scientific Software Development Idiosyncrasies There is little credit to be had for software development compared to using the software => any additional effort invested besides the minimum is reducing the competitiveness For the same reason, it is difficult to obtain funding for scientific software development The bulk of the software development work is done by inexperienced people (students, post docs); advisers are not trained in management (of software development projects) 3
4 Even More Scientific Software Development Idiosyncrasies The correctness of the result is not affected by the quality or efficiency of the implementation A specific application may only be needed once Goals and tasks of scientific software for research are not always well defined Applications are often a complex composite of many units and it is difficult to test this anything but the complete application Applications use inexact floating-point math 4
5 Why Worry About This Now? Computers become more powerful all the time and more complex problems can be addressed Use of computational tools becomes common among non-developers and non-theorists -> many users could not implement the whole applications that they are using by themselves Current hardware trends (SIMD, NUMA, GPU) make writing efficient software complicated Solving complex problems requires combining expertise from multiple domains or disciplines 5
6 Ways to Move Forward Write more modular, more reusable software => build frameworks and libraries Write software that can be modified on an abstract level or where components can be combined without having to recompile => combine scripting with compiled code Write software where all components are continuously (re-)tested and (re-)validated Write software where consistent documentation is integral part of the development process 6
7 Unit- and Regression Testing are Opportunities Gain more confidence in your application Writing unit tests helps to understand problems => conceptual problems surface before use Writing unit tests encourages modular code => more code reuse, better maintainability Automated regression testing helps discovering inconsistencies before a software is released Adding tests is easy while implementing a feature; writing a test library after is daunting 7
8 What to Test Many fast tests for single feature/unit Output does not have to be meaningful science; it is sufficient to get the correct wrong result Tests should be as independent as possible Tests need to cover all code paths Also need to test for all cases that should raise warnings or error conditions Few specific reference runs of the whole code Test parallel applications in serial and parallel 8
How To Develop Software
Software Development Basics Dr. Axel Kohlmeyer Associate Dean for Scientific Computing College of Science and Technology Temple University, Philadelphia http://sites.google.com/site/akohlmey/ [email protected]
TESTING FRAMEWORKS. Gayatri Ghanakota
TESTING FRAMEWORKS Gayatri Ghanakota OUTLINE Introduction to Software Test Automation. What is Test Automation. Where does Test Automation fit in the software life cycle. Why do we need test automation.
Part I Courses Syllabus
Part I Courses Syllabus This document provides detailed information about the basic courses of the MHPC first part activities. The list of courses is the following 1.1 Scientific Programming Environment
Data Centric Systems (DCS)
Data Centric Systems (DCS) Architecture and Solutions for High Performance Computing, Big Data and High Performance Analytics High Performance Computing with Data Centric Systems 1 Data Centric Systems
Meister Going Beyond Maven
Meister Going Beyond Maven A technical whitepaper comparing OpenMake Meister and Apache Maven OpenMake Software 312.440.9545 800.359.8049 Winners of the 2009 Jolt Award Introduction There are many similarities
HPC Wales Skills Academy Course Catalogue 2015
HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses
Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Data Analysis with MATLAB. 2013 The MathWorks, Inc. 1
Data Analysis with MATLAB 2013 The MathWorks, Inc. 1 Agenda Introduction Data analysis with MATLAB and Excel Break Developing applications with MATLAB Solving larger problems Summary 2 Modeling the Solar
An Increase in Software Testing Robustness: Enhancing the Software Development Standard for Space Systems
An Increase in Software Robustness: Enhancing the Software Development Standard for Space Systems Karen Owens and Suellen Eslinger Software Engineering Subdivision 15 th Ground System Architectures Workshop
Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61
F# Applications to Computational Financial and GPU Computing May 16th Dr. Daniel Egloff +41 44 520 01 17 +41 79 430 03 61 Today! Why care about F#? Just another fashion?! Three success stories! How Alea.cuBase
Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys
Viewpoint Choosing the right automation tool and framework is critical to project success - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys Introduction Organizations have become cognizant of the crucial
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
Basic Trends of Modern Software Development
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering
Problems and Measures Regarding Waste 1 Management and 3R Era of public health improvement Situation subsequent to the Meiji Restoration
Overview of HPC Resources at Vanderbilt
Overview of HPC Resources at Vanderbilt Will French Senior Application Developer and Research Computing Liaison Advanced Computing Center for Research and Education June 10, 2015 2 Computing Resources
LECTURE 1. SYSTEMS DEVELOPMENT
LECTURE 1. SYSTEMS DEVELOPMENT 1.1 INFORMATION SYSTEMS System A system is an interrelated set of business procedures used within one business unit working together for a purpose A system has nine characteristics
Oracle Insurance Policy Administration System Quality Assurance Testing Methodology. An Oracle White Paper August 2008
Oracle Insurance Policy Administration System Quality Assurance Testing Methodology An Oracle White Paper August 2008 Oracle Insurance Policy Administration System Quality Assurance Testing Methodology
Continuous integration for databases using Redgate tools
Continuous integration for databases using Redgate tools Wie Sie die Microsoft SQL Server Data Tools mit den Tools von Redgate ergänzen und kombinieren können An overview 1 Continuous integration for
TestTrack Test Case Management Quick Start Guide
TestTrack Test Case Management Quick Start Guide This guide is provided to help you get started with TestTrack test case management and answer common questions about working with test cases and test runs.
FSW QA Testing Levels Definitions
FSW QA Testing Levels Definitions 1. Overview This document is used to help determine the amount and quality of testing (or its scope) that is planned for or has been performed on a project. This analysis
Test Data Management
Test Data Management The Best Practices in TDM Abhik Kar Independent Validation Solutions Infosys Technologies Limited Florida, USA Debdatta Lahiri Independent Validation Solutions Infosys Technologies
Fundamentals of Measurements
Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role
Software testing. Objectives
Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating
RUN THE RIGHT RACE. Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW
RUN THE RIGHT RACE Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW 26032015 FUNCTIONAL TESTING With Borland everyone from business analysts
Latest Trends in Testing. Ajay K Chhokra
Latest Trends in Testing Ajay K Chhokra Introduction Software Testing is the last phase in software development lifecycle which has high impact on the quality of the final product delivered to the customer.
The Deployment Pipeline
The Deployment Pipeline (Extending the range of Continuous Integration) Dave Farley 2007 Continuous Build A core practice in Agile development projects is the use of Continuous Integration. CI is a process
Introduction to MATLAB Gergely Somlay Application Engineer [email protected]
Introduction to MATLAB Gergely Somlay Application Engineer [email protected] 2012 The MathWorks, Inc. 1 What is MATLAB? High-level language Interactive development environment Used for: Numerical
WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation
We know now that the source of wealth is something specifically human: knowledge. If we apply knowledge to tasks we already know how to do, we call it productivity. If we apply knowledge to tasks that
Establishing your Automation Development Lifecycle
Establishing your Automation Development Lifecycle Frequently I engage clients in assessing and improving their automation efforts. The discussion normally starts from a position of frustration We ve invested
Continuous integration for databases using
Continuous integration for databases using Red Wie Sie Gate die tools Microsoft SQL An overview Continuous integration for databases using Red Gate tools An overview Contents Why continuous integration?
Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS
Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,
Introduction to MATLAB for Data Analysis and Visualization
Introduction to MATLAB for Data Analysis and Visualization Sean de Wolski Application Engineer 2014 The MathWorks, Inc. 1 Data Analysis Tasks Files Data Analysis & Modeling Reporting and Documentation
Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Testing Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To discuss the distinctions between validation testing and defect t testing To describe the
Enabling Continuous Delivery by Leveraging the Deployment Pipeline
Enabling Continuous Delivery by Leveraging the Deployment Pipeline Jason Carter Principal (972) 689-6402 [email protected] Pariveda Solutions, Inc. Dallas,TX Table of Contents Matching
A Comparison of Programming Languages for Graphical User Interface Programming
University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming
Creating a Java application using Perfect Developer and the Java Develo...
1 of 10 15/02/2010 17:41 Creating a Java application using Perfect Developer and the Java Development Kit Introduction Perfect Developer has the facility to execute pre- and post-build steps whenever the
Automating with IBM SPSS
Automating with IBM SPSS John McConnell Services Rachel Clinton Business Development www.sv-europe.com Contents Background Levels of automation with syntax and streams Automating beyond syntax and streams
Software Development with Real- Time Workshop Embedded Coder Nigel Holliday Thales Missile Electronics. Missile Electronics
Software Development with Real- Time Workshop Embedded Coder Nigel Holliday Thales 2 Contents Who are we, where are we, what do we do Why do we want to use Model-Based Design Our Approach to Model-Based
Ivan Girotto a,, Axel Kohlmeyer a,b,, David Grellscheid a,c, Shawn T. Brown d
Advanced Techniques for Scientific Programming and Collaborative Development of Open Source Software Packages at the International Centre for Theoretical Physics (ICTP) Ivan Girotto a,, Axel Kohlmeyer
4. Software Project Management
4. Software Subject/Topic/Focus: Management of Systems Engineering Projects Summary: Influences on projects and potential risks Software systems engineering and project management Activity network and
BMC Control-M Workload Automation
solution overview BMC Control-M Workload Automation Accelerating Delivery of Digital Services with Workload Management Table of Contents 1 SUMMARY 2 FASTER AND CHEAPER DYNAMIC WORKLOAD MANAGEMENT Minimize
DANSE Software Quality Assurance
DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee Department of Computer Science DANSE Objectives Extensible open source framework Modular interoperability
Developing Software in a Private workspace - 4.01 PM PMS
SBCH06.fm Page 67 Friday, October 4, 2002 4:01 PM 6 Private Workspace A government clerk s room, showing a desk with books, telephone and directory, and a desk lamp on it. Washington, D.C., 1939. Photo
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University Next 4 lessons: Outline Scientific programming: best practices Classical learning (Hoepfield network) Probabilistic learning
Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com
Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing
How To Model Software Development Life Cycle Models
Various Software Development Life Cycle Models Sahil Jindal, Puneet Gulati, Praveen Rohilla Dronacharya College of Engineering, India Abstract:An SDLC model is a conceptual framework describing different
Building Platform as a Service for Scientific Applications
Building Platform as a Service for Scientific Applications Moustafa AbdelBaky [email protected] Rutgers Discovery Informa=cs Ins=tute (RDI 2 ) The NSF Cloud and Autonomic Compu=ng Center Department
Agenda. Overview. Federation Requirements. Panlab IST034305 Teagle for Partners
Agenda Panlab IST034305 Teagle for Partners Sebastian Wahle, [email protected] Overview Testbed Federation Requirements Panlab Roles Federation Architecture Functional Components of Teagle
Automated Testing Options for PL/SQL Steven Feuerstein PL/SQL Evangelist, Quest Software www.quest.com [email protected]
Automated Testing Options for PL/SQL Steven Feuerstein PL/SQL Evangelist, Quest Software www.quest.com [email protected] Copyright 2008 Feuerstein and Associates How to benefit most from this
GPU for Scientific Computing. -Ali Saleh
1 GPU for Scientific Computing -Ali Saleh Contents Introduction What is GPU GPU for Scientific Computing K-Means Clustering K-nearest Neighbours When to use GPU and when not Commercial Programming GPU
Agile SPL-SCM: Agile Software Product Line Configuration and Release Management
Agile SPL-SCM: Agile Software Product Line Configuration and Release Management APLE 2006 Workshop SPLC 2006, Baltimore, MD [email protected] Phonak Hearing Systems Presentation Roadmap 1. Introduction
USING DIRECTED ONLINE TUTORIALS FOR TEACHING ENGINEERING STATISTICS
USING DIRECTED ONLINE TUTORIALS FOR TEACHING ENGINEERING STATISTICS Richard J. School of Mathematics and Physics, The University of Queensland, Australia [email protected] Since 2006, an internet
CLARIION PERFORMANCE MONITORING SCRIPTING GUEST HOME PDF
CLARIION PERFORMANCE MONITORING SCRIPTING GUEST HOME PDF ==> CLARIION PERFORMANCE MONITORING SCRIPTING GUEST HOME PDF [FULL DOWNLOAD] CLARIION PERFORMANCE MONITORING SCRIPTING GUEST HOME PDF Are you searching
Component Based Development in Software Engineering
Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software
Testing Introduction. IEEE Definitions
Testing Introduction IEEE Definitions Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the
How to Survive a Software Audit through Effective Software Management. By John Tomeny, Sassafras Software Inc.
assafras oftware Box 150, Hanover, NH 03755 (603) 643-3351 http://www.sassafras.com [email protected] How to Survive a Software Audit through Effective Software Management By John Tomeny, Sassafras Software
Scrum: A disciplined approach to product quality and project success.
Scrum: A disciplined approach to product quality and project success. CQAA February 23, 2011 Patricia Rotman Introductions Copyright 2011-2 Alternate Titles Considered Scrum: Just do it! Scrum: It only
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 3 Basics of Software Life Cycle and Waterfall Model Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what is a
Software Engineering. Software Reuse. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering Software Reuse Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the benefits of software reuse and some reuse problems To discuss several different
F15. Towards a More Mature Test Process. Anne Mette-Hass. P r e s e n t a t i o n
Towards a More Mature Test Process Anne Mette-Hass International Conference On Software Testing, Analysis & Review November 19-23 Stockholm, Sweden P r e s e n t a t i o n F15 Friday 23rd November, 2001
Computer Software Engineering Career, Jobs, and Employment Information
Computer Software Engineering Career, Jobs, and Employment Information Computer Software Engineering Career and Job Highlights Over the next decade, computer software engineering is expected to grow rapidly
Use service virtualization to remove testing bottlenecks
Use service virtualization to remove testing bottlenecks Discover integration faults early by pushing integration testing left in the software lifecycle Contents 1 Complex, interconnected applications
Why Test Automation Fails
Why Test Automation Fails in Theory and in Practice Jim Trentadue Enterprise Account Manager- Ranorex [email protected] Thursday, January 15, 2015 Agenda Agenda Test Automation Industry recap Test
CHAPTER 7 Software Configuration Management
CHAPTER 7 Software Configuration Management ACRONYMS CCB CM FCA MTBF PCA SCCB SCI SCM SCMP SCR SCSA SEI/CMMI SQA SRS USNRC INTRODUCTION Configuration Control Board Configuration Management Functional Configuration
The Customer. Manual and Automation Testing for a leading Enterprise Information Management (EIM) Solution provider. Business Challenges
CASE STUDY a t t e n t i o n. a l w a y s. The Customer Manual and Automation for a leading Enterprise Information Management (EIM) Solution provider Our Customer is one of the global leaders in Enterprise
Case study AllianzNet
Case study AllianzNet Automated versus manual testing D E G O U D E N D R A A D D O O R U W B E D R I J F S V O E R I N G 1 Pleased to meet you Hans van Loenhoud secretary TestNet managing partner INQA
The Importance of Defect Tracking in Software Development
The Importance of Defect Tracking in Software Development By Dan Suceava, Program Manager, Axosoft LLC [email protected] THE SOFTWARE DEVELOPMENT CYCLE...1 DEFECTS WHERE DO THEY COME FROM?...3 BUGS DON
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X
NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X DU-05348-001_v5.5 July 2013 Installation and Verification on Mac OS X TABLE OF CONTENTS Chapter 1. Introduction...1 1.1. System Requirements... 1 1.2. About
SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework
Pragmatic Agile Development (PAD) Conceptual Framework This document describes the Pragmatic Agile Development framework, a Scrum based development process. SmartBear Software 3/10/2010 Pragmatic Agile
Parameters for Efficient Software Certification
Parameters for Efficient Software Certification Roland Wolfig, [email protected] Vienna University of Technology, Real-Time Systems Group 1 Abstract Software certification is a common approach
Efficient Verification for Avionic Product Development
YAVE Test Systems Efficient Verification for Avionic Product Development With YAVE FTI offers the full range of test systems from compact budget units up to complex systems configured to customers individual
Digging for Gold: Business Usage for Data Mining Kim Foster, CoreTech Consulting Group, Inc., King of Prussia, PA
Digging for Gold: Business Usage for Data Mining Kim Foster, CoreTech Consulting Group, Inc., King of Prussia, PA ABSTRACT Current trends in data mining allow the business community to take advantage of
Smarter Balanced Assessment Consortium. Recommendation
Smarter Balanced Assessment Consortium Recommendation Smarter Balanced Quality Assurance Approach Recommendation for the Smarter Balanced Assessment Consortium 20 July 2012 Summary When this document was
To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server 2008.
Znode Multifront - Installation Guide Version 6.2 1 System Requirements To install Multifront you need to have familiarity with Internet Information Services (IIS), Microsoft.NET Framework and SQL Server
Instructional Design Framework CSE: Unit 1 Lesson 1
Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results
Using Provenance to Improve Workflow Design
Using Provenance to Improve Workflow Design Frederico T. de Oliveira, Leonardo Murta, Claudia Werner, Marta Mattoso COPPE/ Computer Science Department Federal University of Rio de Janeiro (UFRJ) {ftoliveira,
Custom Web Development Guidelines
Introduction Custom Web Development Guidelines Unlike shrink wrap software, custom software development involves a partnership between the architect/programmer/developer (SonicSpider) and the owner/testers/users
Top 10 Tips for Successful Software Development Management
71% of the software projects do not succeed! Top 10 Tips for Successful Software Development Management by Jack Bicer Here are some time tested guidelines that have been used extensively to deliver web
Good FORTRAN Programs
Good FORTRAN Programs Nick West Postgraduate Computing Lectures Good Fortran 1 What is a Good FORTRAN Program? It Works May be ~ impossible to prove e.g. Operating system. Robust Can handle bad data e.g.
Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.
INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing
REPUBLIC POLYTECHNIC AND BMC SOFTWARE UNVEIL SINGAPORE S FIRST ACADEMIC QUALIFICATION IN IT SERVICE MANAGEMENT. Pip Livingstone.
REPUBLIC POLYTECHNIC AND BMC SOFTWARE UNVEIL SINGAPORE S FIRST ACADEMIC QUALIFICATION IN IT SERVICE MANAGEMENT Editorial contacts: Pip Livingstone BMC Software +61 4106 86 669 [email protected] m
