Custom Developer Testing Frameworks – A Practical Approach Yuval Mazor, Sela

Slides:



Advertisements
Similar presentations
Unit testing in.Net. Copyright 2007 Tikal Knowledge, Ltd. | 2 | Agenda Introduction Visual Studio built-in support Open source frameworks Working together.
Advertisements

Resolving Common halFILE Issues. Effective July 11, 2006, Windows 98, Windows 98 Second Edition, and Windows Me (and their related components) will transition.
Math for Liberal Studies. An identification number is a sequence of letters and/or numbers that identifies an object, person, place, or concept The number.
Microsoft ® Office 2007 Training Security II: Turn off the Message Bar and run code safely P J Human Resources Pte Ltd presents:
SEO Best Practices with Web Content Management Brent Arrington, Services Developer, Hannon Hill Morgan Griffith, Marketing Director, Hannon Hill 2009 Cascade.
Extending Primo beyond your ILS data source : including EAD and Graphic Sources Janet Lute ILS Coordinator Princeton University Library IGeLU 2014Oxford,
Chapter 7: Introduction to Debugging TECH Prof. Jeff Cheng.
Calendar Browser is a groupware used for booking all kinds of resources within an organization. Calendar Browser is installed on a file server and in a.
Troy Eversen | 19 May 2015 Data Integrity Workshop.
Getting Started With Java Downloading and installing software Running your first program Dr. DwyerFall 2012.
1 Microsoft Access 2002 Tutorial 5 – Enhancing a Table’s Design, and Creating Advanced Queries and Custom Forms.
Extreme Programming Adam Cogan Database Architect ssw.com.au.
Maths Notes Number 5. Decimals
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
Unit 1 – Improving Productivity Elliot Hyde Instructions ~ 100 words per box.
© 2011 PLANET TECHNOLOGIES, INC. Extending User Profiles with Line of Business Data Patrick Curran, MCT FEBRUARY 24, 2013.
Microsoft ® Office 2007 Training Security II: Turn off the Message Bar and run code safely presents:
Ole Miss Today An integrated, campus-wide announcement system.
Process Design (Requirements). Recall the Four Steps of Problem Solving * Orient Plan Execute Test These apply to any kind of problem, not just spreadsheet.
Chapter 9 Database Management Discovering Computers Fundamental.
StyleCop Breaking down the barriers to entry Gary Ewan Park Twitter: Blog:
1 Lecture 19 Configuration Management Software Engineering.
CS 350 – Software Design The Object Paradigm – Chapter 1 If you were tasked to write code to access a description of shapes that were stored in a database.
Unit 1 – Improving Productivity Instructions ~ 100 words per box.
1 Today’s Plan In Class Exam – Quick Review Thoughts on your Junior Projects, cntd People and Roles on Projects.
Chapter 1 Program Development Asserting Java © Rick Mercer.
‘Tirgul’ # 7 Enterprise Development Using Visual Basic 6.0 Autumn 2002 Tirgul #7.
Welcome to My Reading Recovery Lesson Fluent writing practice Familiar rereads Take a running record Make and break Write a story Cut up sentence Introduce.
Microsoft FrontPage 2003 Illustrated Complete Finalizing a Web Site.
Step By Step Windows Server 2003 Installation Guide Step By Step Windows Server 2003 Installation Guide.
Errors And How to Handle Them. GIGO There is a saying in computer science: “Garbage in, garbage out.” Is this true, or is it just an excuse for bad programming?
 Once the system has been installed it will be monitored to check whether it is working correctly. Sometimes problems with a system will not be found.
Unit 1 – Improving Productivity. 1.1Why did you use a computer? What other systems / resources could you have used? In my PowerPoint I used a computer.
@DNNCon Don’t forget to include #DNNCon in your tweets! Effective Unit Testing for DNN James McKee Solutions Developer / Enterprise
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
1 Authority on Demand Provide high authority “as-needed” with full Audit Trail.
From Lucent, Inc. This is the Sablime® home page. It has access to all the functionality of the Sablime® Configuration Management System.
Microsoft ® Office Excel 2003 Training Using XML in Excel SynAppSys Educational Services presents:
Roll Screen Development Debugging assistance for building Rocks Rolls with screens OSGC, May 2008 Nadya Williams University of Zurich.
By Fintan Morrison. Why it has a place? It has a place because some people like to edit the software to their liking also the software may need to be.
Optimizing Your Computer To Run Faster Using Msconfig Technical Demonstration by: Chris Kilkenny.
BMTRY 789 Lecture 11: Debugging Readings – Chapter 10 (3 rd Ed) from “The Little SAS Book” Lab Problems – None Homework Due – None Final Project Presentations.
P3 - prepare a computer for installation/upgrade By Ridjauhn Ryan.
Yuan Chen The Story of “Springfield”
KW Advanced Agent Website Training April, What We will Discuss Using hyperlinks to your “contact me/us page” Which color boxes control what areas.
Version Control and SVN ECE 297. Why Do We Need Version Control?
AliRoot survey: Analysis P.Hristov 11/06/2013. Are you involved in analysis activities?(85.1% Yes, 14.9% No) 2 Involved since 4.5±2.4 years Dedicated.
Machine Learning in Practice Lecture 2 Carolyn Penstein Rosé Language Technologies Institute/ Human-Computer Interaction Institute.
Learning Aim B.  In this section, you will consider the resources necessary for designing your website.  You will also think about any constraints that.
Validation. What is Validation? Removing errors improves the consistency of how our pages look to a wide variety of browsers and devices. Ensuring that.
Creating Accessible PDFs. It’s Happening Here Agenda Creating Accessible PDF files –Is that PDF REALLY necessary? –Did you SCAN that? Using the OCR feature.
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Understanding and implementing the remote provision pattern in SharePoint.
Managing Database objects in Visual Studio and Team Foundation Server Presented by Sean P SQL Saturday - Phoenix 2016.
SCORM conformance and authoring software Dr Tabetha Newman Information Transfer Tel. +44 (0) August 2002.
Benjamin Day Get Good at DevOps: Feature Flag Deployments with ASP.NET, WebAPI, & JavaScript.
Upgrade on Windows 7. DownloadSoftware Download Software from link provided in Webliography: e/
CSC 108H: Introduction to Computer Programming
Stress Free Deployments with Octopus Deploy
Tracking and Squashing Bugs
Introduction to Windows Azure Cloud Services
Data Virtualization Demoette… ADO.NET Client
Data Virtualization Tutorial… CORS and CIS
Reporting Overview Business Goals Demystify the report menu
CSE341: Programming Languages Section 1
Tips for working with CSS in the Edge Dev Tools
What is Software Testing?
Error Handling.
Welcome to Microsoft Azure for Research Training!
Presentation transcript:

Custom Developer Testing Frameworks – A Practical Approach Yuval Mazor, Sela

About Me Senior ALM Sela Writing software professionally since 1998 TFS MCP Co-/Author of Microsoft Training Kits & Courses Co-Manager, Microsoft Israel ALM User Group

Agenda Unit Tests and Parachutes Company C - A Story The Concept of Environment Tests Gallio – The Tool We Use Company C Issues & Demos Summary

Building Software Products is like Jumping Out of an Aircraft…

Unit Tests – A General Parachute

Unit Tests – A General Parachute? Only goes so far! Sometimes it just isn’t enough

The Ballad of Company C VERY successful ISV ~80 R&D Staff Code base is a mess –Duplication –Big Ball-o-Mud – Want to change, but don’t know where to start

Working at Company C New features take AGES to complete Builds fail often (like, REALLY often) Even when they don’t, the application often doesn’t run

? ?

Environment Tests It might build, but it won’t run Test for proper environment conditions (before build!) If you know it won’t run, don’t try to build it (fail fast, fail often) Let’s build an environment-testing framework!

Enter Gallio Open-Source test-framework framework (meta-framework?) The basis for the MbUnit test framework Available at unit/ unit/ (or via NuGet)

When the Build Fails, Don ’ t Go Tellin ’ Tales Problem 1

Explanation Developers work in their own personal universe –a.k.a: But it works on my machine!! And the inevitable result:

Yuval… The Build ’ s Failing Again.. FIX IT!!!

We Want! For every test, describe exactly what can make it fail Make this a required part of the test

Problem 1 Summary Base Class: TestTypePatternAttribute Chain: SetUpTestInstanceChain

The Woes of the XML You Didn ’ t Close Problem 2

Explanation Lots and lots and lots of XML files for customer and feature configuration Used by a variety of tools both during build and runtime Developers edit those XML files frequently –In Notepad –… and check-in invalid files

Why is Tool X giving me these weird errors?

We Demand! Check every XML file in a specific directory for validity Determine which XML file(s) are bad

Problem 2 Summary Base Class: TestDecoratorPatternAttribute Chain: InitializeTestInstanceChain

Put the Blame on the Name Problem 3

Explanation The application uses many small images Image file names need to adhere to specific patterns and rules Developers tend to forget the rules

I ’ m not seeing the correct image here !!

We Require! Check every image file in a specific directory for pattern compliance Determine which image files will not be displayed

Problem 3 Summary Base Class: ContributionMethodPatternAttribute Chain: SetUpTestInstanceChain

Summary Gallio is a framework for developing testing frameworks and tools We used Gallio for developing an environment-testing framework Company C personnel can now rest (a little) easier!

Links Gallio: Source Code:

Thank