My experiences with Testing (or a less boring title of your choice)

Slides:



Advertisements
Similar presentations
(nothing to see here). First thing you need to learn is that sysadmin is about people, not technology If youre a sysadmin so you dont have to deal with.
Advertisements

Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Discussion examples Andrea Zhok.
Occupational Career Project By Jimmy Evans. I want to pursue a career in computer engineering. Specifically something in computer software. I think a.
By for Test Driven Development: Industry practice and teaching tool Robert Vanderwall, Ph.D. 1 WISTPC-15.
My E-Portfolio Katie Wangler Allen High School
Welcome... Simon Walls PhD Marketing School of Business Administration.
This is what BC Students told us…
Building A Positive Attitude “ A little ability combined with a positive attitude often goes further than a great talent teamed with a negative viewpoint.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Applied Software Project Management
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
 Basically, Architects design, build, and or supervise the construction of buildings.  The building that they build must be safe and follow all of the.
© 2015 albert-learning.com How to talk to your boss How to talk to your boss!!
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
WRITING LETTERS OF DIFFERENT FORMATS. 1. PERSONAL AND FORMAL LETTERS Paragraph Plan for Letters Salutation Paragraph 1: reasons for writing Paragraphs.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Digital Transformation with DevOps
Peter Varhol Solutions Evangelist
What you always wanted to know about life as a professional software developer but were too afraid to ask.
Paul Ammann & Jeff Offutt
How I cope with stress - I believe you can cope too
Programmer: Roman Martushev
Kevin C. Chang University of Illinois, Urbana-Champaign
Collaborative Work Placement
WHAT IS NETWORKING AND HOW DOES IT HELP YOU FIND A JOB
Methodologies By Akinola Soyinka.
Entry Task #1 – Date Self-concept is a collection of facts and ideas about yourself. Describe yourself in your journal in a least three sentences. What.
Attention Grabbing Headlines
Development History Granularity Transformations
In the Senior Design Center
Welcome Bienvenidos Memo Vargas.
Welcome John Doe.
What to Do About Gossip and Rumors
Developing Learning To teach learning skills schools have to identify the key skills they value. This presentation is to explain the key learning skills.
8 Mistakes to Avoid During PSD to HTML Conversion | Pixlogix Infotech Pvt. Ltd.
IoT Marketing Specialists
Hailey Smith’s Career Path
Shattered Book Companion Journal
Words and Actions Can Hurt
Malware, Malicious Tools, and Tools
Lesson 2 Programming constructs – Algorithms – Scratch – Variables Intro.
“Upgrading Technology Financing: ML Enabling a Data-Powered Process”
When, why, and how to laugh at your own mistakes!
Quiz Time Lets start with a quiz.
Testing and Test-Driven Development CSC 4700 Software Engineering
Fundamental Test Process
Screen Writing Brylee Huber.
Writing Project By: Becca Wolfe.
TechEd /7/2018 6:07 AM DEV-B331 Brownfield Development: Taming Legacy Code with Better Unit Testing and Microsoft Fakes David Starr Senior Program.
Academic Career Abdalla Gamal Abdalla Teaching Assistant
The 11 Leadership Principles
Risk Management CSCE 489/689 (Software Security) Fall 2018
CSE 303 Concepts and Tools for Software Development
Get In Shape With EMS Training. INTRODUCTION Those that are thinking about making a change in their life might have thought about going through with EMS.
Title of Paper or Topic you are Teaching
Mastering Interview Questions
Section 10.3 Making Sense of Statistical Significance
Ron Sklaver, MBA, PMP, ABC, XYZ UMT Consulting Group Session #TRN30
In the Senior Design Center
Having Fun at recess Introduce today’s lesson: Having fun at recess. Ask the students if they like recess time. If so, why? If not, why? Explain.
Influence: The Key to Leadership
Bringing more value out of automation testing
Applied Software Project Management
YOUR FUTURE AND INFORMATION TECHNOLOGY
Problem.
Automating Profitable Growth™
Quality DAP must be presented with a high quality effect to ensure the importance of each practice and to have a positive impact on the children's learning.
Product Development & Planning
Steve Jobs This unit was created by the Louisiana Department of Education in partnership with LearnZillion. It includes approximately 36 days of instructional.
Presentation transcript:

My experiences with Testing (or a less boring title of your choice) Vidroha debroy, June 19th 2018

A little bit about me Graduated with a PhD in Software Engineering under the supervision of Dr. Wong (I think you met him…) in 2011 Joined the Windows Team at Microsoft as an SDET Returned to DFW in August 2013 and joined Hudson Alley Software as a Senior Software Engineer. Stayed there close to 2 years Joined Verizon as a Senior Software Architect in 2015. Joined Varidesk in 2016 which is where I am currently Adjunct Professor of Computer Science at SMU between Fall 2015 and Spring 2017, and have been teaching at UTD part-time since Fall 2017.

Why test? Well Dr. Wong told us we should…Congratulations! You will probably get an A  Testing is an investment with proven returns Testing is as fundamental a software development activity as any, and often can drive other activities Testing lets you realize things about your product that you wouldn’t otherwise On a personal note, testing can help avoid embarrassment

Effective Testing Testing is not really a question of doing or not doing – it is about understanding; this is as much an art as it is a science We need to be familiar with the software we are testing We need to plan, scope and prioritize and measure We need to treat our tests as first class citizens We need to leverage automation as appropriate We need to be creative!

The relationship(s) between dev code and test code What comes first – implementation or tests? Dev code usually has to be modified to facilitate test code, i.e., dev code needs to be made testable More test code is typically written than dev code Does test code need to be of an inferior quality than dev code? Ultimately, test code is meant to cover dev code (or is it ^_^)… Dev code and test code alike need to be under SCM, they are equally important – that is an important takeaway

Categorizing tests helps OK – enough with the stock pictures…we get it you know how to use Google Images… Not all tests are created alike…they have: Different goals Different needs (intentionally staying away from the word ‘requirements’) Different results and interpretations of the results

Tools and Automation What can we do to automate and what can automation do for us? How do we pick a good testing framework? Test execution cannot be an all or nothing effort Test results are more meaningful when they are consumable When done right, automatic test execution and reporting is either: Triggered Performed on a timely basis Scheduled on-demand by anyone in the team Especially important today when many companies are adopting a DevOps rhythm – how/where does testing fit in?

Code coverage It is ‘a metric’ to evaluate tests It is best taken literally – without inferring too much else When used correctly, it is great at identifying untested code (and potentially untestable code) When used incorrectly, it is great at instilling false confidence The way I think it is best viewed – “when your tests have covered some code, you know something about the code; when you haven’t covered the code, you know nothing of it”

When tests fail… Believe it or not, its quite normal… Reproducibility is key Sometimes its just not about the dev code or the test code, its just about the environment Ultimately, test failures are a good thing But the fix cannot be just about getting the test to pass – there is much more to it than that

Final thoughts on testing We know its important and all that…but its also a great job You get to play detective You get the final say on whether the product is ready or not It is true you have a lot of responsibility… Sometimes more than people give you credit for Sometimes it’s a thankless job (or so it seems) In the end – have your pick of an example – would you get on a plane if you knew things hadn’t been tested?

Thank You Vidroha Debroy Varidesk/UTDallas vxd024000@utdallas.edu