James A. Whittaker Principal Architect Visual Studio Team Test Microsoft.

Slides:



Advertisements
Similar presentations
Introduction to Macro Introduction to Visual Basic for Application Recording a Macro Looking at the code of Recorded Macro.
Advertisements

Test process essentials Riitta Viitamäki,
Chapter 1 - VB 2008 by Schneider1 Chapter 1 - An Introduction to Computers and Problem Solving 1.1 An Introduction to Computers 1.2 Windows, Folders, and.
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
Chapter 1 - An Introduction to Computers and Problem Solving
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
System Analysis (Part 1)
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
CSI 101 Elements of Computing Spring 2009 Lecture #2 Development Life Cycle of a Computer Application Monday January 26th, 2009.
Slide 1.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
Chapter 1 Assuming the Role of the Systems Analyst
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Chapter 2: Developing a Program Extended and Concise Prelude to Programming Concepts and Design Copyright © 2003 Scott/Jones, Inc.. All rights reserved.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Introduction to Software Engineering CS-300 Fall 2005 Supreeth Venkataraman.
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Installing geant4 v9.5 using Windows Daniel Brandt, 06 April 2012 Installing Geant4 v9.5 for Windows A step-by-step guide for Windows XP/Vista/7 using.
CSC230 Software Design (Engineering)
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
Open and save files directly from Word, Excel, and PowerPoint No more flash drives or sending yourself documents via Stop manually merging versions.
Terms: Test (Case) vs. Test Suite
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
SYSTEM LIFE CYCLES. OBJECTIVES o Be able to describe the stages of development of a hardware/software system. o Know what the different stages of the.
James A. Whittaker Principal Architect Visual Studio Team Test Microsoft blogs.msdn.com/james_whittaker.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
1 DAN FARRAR SQL ANYWHERE ENGINEERING JUNE 7, 2010 SCHEMA-DRIVEN EXPERIMENT MANAGEMENT DECLARATIVE TESTING WITH “DEXTERITY”
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Developing a Program.
Slide 1.1 CHAPTER 1 INTRODUCTION TO SOFTWARE ENGINEERING.
What is Design? Why does it matter? David Vronay Research Manager Windows UI Strategy Microsoft, Inc.
Microsoft Excel Macros & Excel Solver (IENG490)
1 Microsoft’s Process Redmond in the 90’s Article by Roger Sherman, Director of Testing, Worldwide Products Group, Microsoft.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Twelfth Edition.
1 Lecture 19 Configuration Management Software Engineering.
Storyboarding 1. Purpose of Storyboarding  To gain an early reaction from users on the concepts proposed for the application.  They are an effective.
1 TIME BOXED TESTING BCS SIGIST 13 th July 1998 Graham Thomas - OSI Group.
1 Nassau Community CollegeProf. Vincent Costa Acknowledgements: An Introduction to Programming Using Visual Basic 2012, All Rights ReservedAn Introduction.
Chapter 11 An Introduction to Visual Basic 2008 Why Windows and Why Visual Basic How You Develop a Visual Basic Application The Different Versions of Visual.
The Software Development Life Cycle. Software Development SDLC The Software Development Life-Cycle Sometimes called the program development lifecycle.
Visual C++ Programming: Concepts and Projects
(A radical interpretation) Tomo Lennox Bow Tie computer services Why Agile Works.
Testing and Debugging Version 1.0. All kinds of things can go wrong when you are developing a program. The compiler discovers syntax errors in your code.
Problem of the Day  Why are manhole covers round?
CMSC 1041 Algorithms II Software Development Life-Cycle.
Systems Analysis and Design in a Changing World, Fourth Edition
How a Computer Processes Data With today’s technology a little knowledge about what’s inside a computer can make you a more effective user and help you.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
James A. Whittaker Software Architect Visual Studio Team Test Microsoft
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Nic Shulver, Welcome to Principles of Software Engineering Tutor: Nic Shulver Web site and Blackboard presence 100% coursework,
Introduction to Microsoft Excel Macros COE 201- Computer Proficiency.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Software Quality Assurance and Testing Fazal Rehman Shamil.
How a Computer Processes Data. With today’s technology a little knowledge about what’s inside a computer can make you a more effective user and help you.
Software testing techniques Software testing techniques REGRESSION TESTING Presentation on the seminar Kaunas University of Technology.
Automation Testing Trainer: Eran Ruso. Training Agenda Automation Testing Introduction Microsoft Automation Testing Tool Box Coded UI Test and Unit Test.
Shaping yourself to SDET from AT Sriram Angajala
Modern Systems Analysis and Design Third Edition
Visual Studio 2005 “Personalized productivity”
Design and Programming
Modern Systems Analysis and Design Third Edition
Programming Logic and Design Eighth Edition
Presentation transcript:

James A. Whittaker Principal Architect Visual Studio Team Test Microsoft

“A mathematician is a device that turns coffee into theorems” “A computer programmer is a device that turns lattes into bugs”

I knew less than 10 people with addresses No one ever asked me to fix their computer I never had to reboot toys, phones, picture frames, tools, dog collars, cable boxes, …

By the time you make breakfast … (Software is in your coffee maker and microwave) … and drive to work … (It’s in your automobile and the traffic lights) … and make it to your office … (It’s in the keyless entry system and elevators) …millions of lines of code have executed on your behalf

Consider that your … – Finances, credit and tax information – Travel documents and records – Traffic violations and criminal history – Citizenship, travel history and visa information – Medical records – Organization memberships … are all stored in and processed by software

Your personal information is stored on, literally, hundreds or thousands of computers all over the world Let’s not forget that: – Your electricity, food, water and other necessities are provided at the mercy of automated dispatch and delivery mechanisms – Nuclear power and advanced weapons are controlled by software – Airplanes take off and are guided in flight by software – The people working on curing cancer, countering climate change, disease control, finding killer asteroids are all depending on software

Software has a less-than-stellar reputation for quality As users, how many of you have been inconvenienced, annoyed or totally hosed by software? What percentage of users have experienced the same?Is it any wonder our industry calls them “users”?

In the future software will become even more pervasive What will happen when these systems fail? How can we create reliable software and what role does the tester play? We need to solve some very fundamental problems

Too many cooks/too many side dishes What does software look like anyway? Too much distance between creation and detection

Too many cooks/too many side dishes

Architects see Visio diagrams and flow charts Program Managers see PowerPoint decks and Word storyboards Developers see Visual Studio Testers see binaries and interfaces

Too many cooks/too many side dishes Testers see binaries and interfaces

Too many cooks/too many side dishes Testers see binaries and interfaces What the user sees What the tester sees

Too many cooks/too many side dishes From where I sit: – All these side dishes need to make a good meal (software) – The architecture, design, code … they are all useful to testers in the right context I want to hover over a UI element and see code, data types, value ranges, previous bugs, test history … ‘Cheating’ is not wrong when you are trying to build a great product!

Well, there’s: – Input – Output – Data flow – Control flow – Modules – Dependencies – Environment variables – Files – Interfaces What does software look like anyway?

From where I sit: – The inability to visualize our products and their intricacies makes testing software artificially complex – We need to be able to see the product as it is being built and as it executes – For testers this means leaving Lewis and Clark behind and modernizing our tools What does software look like anyway?

Too much distance between creation and detection

Spell checkers in the ‘old days’ vs. spell checkers now – Spell checking and grammar checking is instantaneous – Huge decrease in copy edit and review cycle What about static analysis and testing? – Why wait until the program is complete? – Right-click  TestMeNow in the IDE Too much distance between creation and detection

From where I sit: – The time between bug creation and bug detection is a key factor in long ship cycles – We need to find bugs at the absolute earliest possible moment – For testers this means pushing test techniques and tools into early lifecycle phases Too much distance between creation and detection

Software will continue to run our economy, our businesses and our lives Software will be part of the solutions that will grow food, cure disease and produce sustainable energy Remove software from the equation and humankind’s problems get a lot harder It is imperative that we get software right!

20 years from now – Will the quality of software be taken for granted? Will users be genuinely surprised when it fails? – Will researchers look back in wonder that there was ever even a need for conferences like this? – What hard problems will simply cease to be hard because the software industry of this time did what needed to be done?

A time of great invention and opportunity is upon us The future of software development is waiting to be invented The world desperately needs it

Slides available later today at: