Engineering for Compatibility

Similar documents
ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Sam Williamson

Compiling Techniques

Update and Modernization of Sales Tax Rate Lookup Tool for Public and Agency Users. David Wrigh

Design and implementation of a new meteorology geographic information system

Introduction to ArcGIS Server Development

Web GIS Administration: Tips and Tricks

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0

BACHELOR OF TECHNOLOGY DEGREE PROGRAM IN COMPUTER SCIENCE AND ENGINEERING B.TECH (COMPUTER SCIENCE AND ENGINEERING) Program,

The Geo Web: Enabling GIS on the Internet IT4GIS Keith T. Weber, GISP GIS Director ISU GIS Training and Research Center.

MapReduce in Spark. Krzysztof Dembczyński. Intelligent Decision Support Systems Laboratory (IDSS) Poznań University of Technology, Poland

CS 347 Parallel and Distributed Data Processing

Software Architecture. CSC 440: Software Engineering Slide #1

Geodatabase An Introduction

Enabling Web GIS. Dal Hunter Jeff Shaner

CS 700: Quantitative Methods & Experimental Design in Computer Science

Experiment 1: The Same or Not The Same?

Portal for ArcGIS: An Introduction

3D Weather Visualisation

Proposal to Include a Grid Referencing System in S-100

D2D SALES WITH SURVEY123, OP DASHBOARD, AND MICROSOFT SSAS

7th FIG Regional Conference Spatial Data Serving People: Land Governance and the Environment - Building the Capacity

Philosophy 220. Truth-Functional Equivalence and Consistency

CSEP 521 Applied Algorithms. Richard Anderson Winter 2013 Lecture 1

More on Input Distributions

Implication (6A) Young Won Lim 3/12/18

Department of Computer Science and Engineering CSE 151 University of California, San Diego Fall Midterm Examination

I N T R O D U C T I O N : G R O W I N G I T C O M P L E X I T Y

Rainfall data analysis and storm prediction system

SDS developer guide. Develop distributed and parallel applications in Java. Nathanaël Cottin. version

An Open Source Tool for the Visualization, Analysis and Reporting of Regional and Statewide Transit Networks

Geodatabase An Overview

Activities, Fragments and Intents

TOWARDS THE DEVELOPMENT OF A MONITORING SYSTEM FOR PLANNING POLICY Residential Land Uses Case study of Brisbane, Melbourne, Chicago and London

MATH 153 FIRST MIDTERM EXAM

REPORT ON INVESTMENTS

DP Project Development Pvt. Ltd.

CORPORATE PROFILE MEVATRON SOLUTIONS PRIVATE LIMITED.

Ákos Tarcsay CHEMAXON SOLUTIONS

A Reconfigurable Quantum Computer

Geodatabase: Best Practices. Robert LeClair, Senior Instructor

Science Analysis Tools Design

MTAT Software Engineering

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization

EAS 535 Laboratory Exercise Weather Station Setup and Verification

A Web-GIS Based Integrated Climate Adaptation Model (ICAM): Exemplification from the City of Melbourne, Australia

An object-oriented design process. Weather system description. Layered architecture. Process stages. System context and models of use

WISE Science Data System Single Frame Position Reconstruction Peer Review: Introduction and Overview

CS 453 Operating Systems. Lecture 7 : Deadlock

PERFORMANCE METRICS. Mahdi Nazm Bojnordi. CS/ECE 6810: Computer Architecture. Assistant Professor School of Computing University of Utah

Safe to Save? Archive Options for Geodatabases. Jeff Essic North Carolina State University Libraries

ArcGIS GeoAnalytics Server: An Introduction. Sarah Ambrose and Ravi Narayanan

IOE 202: lectures 11 and 12 outline

Computer Architecture

ENGAGE 19.2 MILLION TRAVELLERS WORLDWIDE AT EVERY STAGE OF THEIR JOURNEY, ACROSS PRINT AND DIGITAL PLATFORMS ON THE WORLD S MOST AWARDED AIRLINE

The Applicability of Adaptive Control Theory to QoS Design: Limitations and Solutions

Motion II. Goals and Introduction

Master thesis. Multi-class Fork-Join queues & The stochastic knapsack problem

High Performance Computing

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface.

GIS at UCAR. The evolution of NCAR s GIS Initiative. Olga Wilhelmi ESIG-NCAR Unidata Workshop 24 June, 2003

CMP 338: Third Class

Mass Asset Additions. Overview. Effective mm/dd/yy Page 1 of 47 Rev 1. Copyright Oracle, All rights reserved.

Comp 11 Lectures. Mike Shah. July 26, Tufts University. Mike Shah (Tufts University) Comp 11 Lectures July 26, / 40

DEKDIV: A Linked-Data-Driven Web Portal for Learning Analytics Data Enrichment, Interactive Visualization, and Knowledge Discovery

Metrics for Data Uniformity of User Scenarios through User Interaction Diagrams

Physics 115 Mock Midterm Sunday, October 14, 2018 * 1 pm Room 241 Arts Building *

Improper Nesting Example

CSE. 1. In following code. addi. r1, skip1 xor in r2. r3, skip2. counter r4, top. taken): PC1: PC2: PC3: TTTTTT TTTTTT

Solving Systems Algebraically

TRANSVERSE GIS FOR TOTAL E&P NIGERIA - GEOPS

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde

MeteoGroup FleetGuard. The world s most comprehensive SaaS fleet management system

Archdiocese of Washington Catholic Schools Academic Standards Mathematics

ww.padasalai.net

ISSP User Guide CY3207ISSP. Revision C

Performance Evaluation

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation.

Attack Graph Modeling and Generation

Math Introduction to Operations Research

Problem A. Crystal Ball Factory

Microscale Acid-Base Titration

Training Path FNT IT Infrastruktur Management

Automation in Complex Systems MIE090

Integrating GIS and Traditional Databases with MapObjects Technology

ArcGIS is Advancing. Both Contributing and Integrating many new Innovations. IoT. Smart Mapping. Smart Devices Advanced Analytics

Session-Based Queueing Systems

AUTOMATIC AND INTERACTIVE ANALYSIS SOFTWARE FOR BETA- GAMMA COINCIDENCE SYSTEMS USED IN CTBT MONITORING

ME345 Modeling and Simulation, Spring 2018 Case Study 3 Assigned: Friday April 20

Overview. Everywhere. Over everything.

One platform for desktop, web and mobile

Ensemble Consistency Testing for CESM: A new form of Quality Assurance

Preptests 55 Answers and Explanations (By Ivy Global) Section 4 Logic Games

Integrated Electricity Demand and Price Forecasting

Traditional geodata lacks the level of detail needed to address emerging network challenges.

FACULTY OF SCIENCE ACADEMY OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING OBJECT ORIENTED PROGRAMMING DATE 07/2014 SESSION 8:00-10:00

Administering your Enterprise Geodatabase using Python. Jill Penney

Reaxys Pipeline Pilot Components Installation and User Guide

OECD QSAR Toolbox v.4.1. Tutorial on how to predict Skin sensitization potential taking into account alert performance

Distributed Systems Principles and Paradigms

ArcGIS Data Reviewer Advanced Data Validation Concepts. Francisco Perez & Shankar Chandrasekaran

Transcription:

W17 Compatibility Testing Wednesday, October 3rd, 2018 3:00 PM Engineering for Compatibility Presented by: Melissa Benua mparticle Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888- - - 268- - - 8770 904- - - 278- - - 0524 - info@techwell.com - http://www.starwest.techwell.com/

Melissa Benua In her career at companies from large to small, Melissa Benua has worked in nearly every software development role- engineer, test, DevOps, and program management. She's created and run high- availability, high- quality services at Boeing and Microsoft on products such as Bing, Cortana, and Xbox One. Melissa discovered her love of massively- scaled systems while working on the Bing backend, where she honed the art of keeping highly- available complex systems up while undergoing massive code churn. Now a senior engineer and manager at the disruptive gaming startup PlayFab, Melissa isn t afraid to mix traditional approaches with bold new ideas to make her products better, faster, and more reliable. She s passionate not only about maximizing efficiency both in her product code and in her developer tools but also about sharing best practices among colleagues and the tech world at large!

Test Design for Fully Automated Build Architectures Melissa Benua Senior Technical Lead, mparticle mbenua@gmail.com @queenofcode STARWEST 2018 1 About Me Boeing Microsoft PlayFab mparticle 2 1

About The Tutorial Source Control Track + Code Review Build + Test Deploy + Monitor 3 Guiding Principles What are we doing here? 4 2

GUIDIN G PRIN CIPL ES Key Test Features Important Reliable Specific 5 GUIDIN G PRIN CIPL ES Importance Triage scenarios based on priority IMPOSSIBLE to cover every scenario Understand what failures can be tolerated Run the most important tests first 6 3

GUIDIN G PRIN CIPL ES Importance Build Failure? UI Test Failure? 7 GUIDIN G PRIN CIPL ES Reliability No flakiness No false-negatives or false-positives Repeatable without human intervention Cleans up after itself 8 4

GU IDING PRINCIP L ES Reliability 9 GUIDIN G PRIN CIPL ES Specificity Clear answer to a clear question Have one main goal Don t boil the ocean Minimal overlapping coverage 10 5

GUIDIN G PRIN CIPL ES Specificity 11 GUIDIN G PRIN CIPL ES Proceed With Caution 1 2 3 4 Shared resource reliance Singlethreading Long duration test time Caching 12 6

GUIDIN G PRIN CIPL ES Exercise: Test Cases Most important? Easiest? Most reliable? Photo Gallery Site UX FrontEnd (HTML5 + JS) Logic BackEnd (Java) Data Store (NoSQL) 13 Automated Pipeline Structure What does it even look like? 14 7

A U T O M A T E D P I P E L I N E S T R U C T U R E CI + CD Pipeline Source Control Track + Code Review Build + Test Deploy + Monitor 15 A U T O M A T E D P I P E L I N E S T R U C T U R E Beyond Unit Tests Project structure? Moving parts? Functional boundaries? Shared resources? Mocking potential? Develop: Diff Build Compile change against mainline Execute unit tests Build: Continuous Integration Compile change as a part of mainline submit Execute functional tests Deploy: Continuous Deployment Start staging environment Deploy staging environment Execute UI + load tests 16 8

A U T O M A T E D P I P E L I N E S T R U C T U R E Example Service Architecture UI Layer RESTful API Admin UI Web Frontend Backend Layer Auth Service Logic Service Cache Service Data Layer Database File Storage 17 18 9

A U T O M A T E D P I P E L I N E S T R U C T U R E The Matrix Component Compile Unit Package Functional Integration Release Acceptance UX Load Auth Logic Web UI Cache BE Machine Function FE Machine Function Product 19 A U T O M A T E D End to End 20 10

A U T O M A T E D P I P E L I N E S T R U C T U R E Exercise: Mapping Categories to Stages What should we run? When should we run it? How long should we wait? Photo Gallery Site UX FrontEnd (HTML5 + JS) Logic BackEnd (Java) Data Store (NoSQL) 21 A U T O M A T E D P I P E L I N E S T R U C T U R E Key Takeaways 1 2 3 4 Easy to conditionally run different categories Find the balance between too many stages and too few Machine time is MUCH cheaper than human time Fail fast and fail often 22 11

Monitoring and Reporting What just happened? 23 M O N I T O R I N G A N D R E P O R T I N G Code Metrics 24 12

M O N I T O R I N G A N D R E P O R T I N G Flaky Test Handling Cost vs Value Net gain? Test Failure Fatigue Ignoring failures? Ease of Detection How do we know? 25 M O N I T O R I N G A N D R E P O R T I N G Logging vs Counters Text Log File? Graph? 26 13

M O N I T O R I N G A N D R E P O R T I N G Exercise: What Goes Where? Photo Gallery Site UX FrontEnd (HTML5 + JS) Logic BackEnd (Java) Data Store (NoSQL) 27 P U T T I N G I T T O G E T H E R Overall Summary 1 2 3 4 Follow natural system boundaries Know where your cutline is and respect your time Don t try to boil the ocean Use your data wisely 28 14

Thank you! Melissa Benua mbenua@gmail.com @queenofcode http://www.queenofcode.net 29 15