Becoming a Better Software Tester Bernie Berger Test Assured, Inc. Pace University “Code Detectives” Student.

Slides:



Advertisements
Similar presentations
Attention (your target market) !. Are you (their problem) ?
Advertisements

Final feedback from Certified Coaches Once trainees become certified coaches they are invited to submit feedback regarding their experiences with the New.
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Black Box Testing Sources: Code Complete, 2 nd Ed., Steve McConnell Software Engineering, 5 th Ed., Roger Pressman Testing Computer Software, 2 nd Ed.,
Thoughts on Systematic Exploratory Testing of Important Products James Bach, Satisfice, Inc.
Four Schools of Software Testing Workshop on Teaching Software Testing, Florida Tech, February 2003.
Schools of Software Testing Adapted from B. Pettichord, 2007.
Student : Maya Tab ’ one Teacher : Haifa ’ Joudah Subject : “ Tenses ”
1 Automated Testing & Test Tools Apirada Thadadech.
TU/e Processor Design 5Z032 1 Processor Design 5Z032 The role of Performance Henk Corporaal Eindhoven University of Technology 2009.
No Best Practices: How to Think About Methodology James Bach, Satisfice, Inc.
James Tam Introduction To CPSC 231 James Tam Administrative (James Tam) Contact Information -Office: ICT 707 -
Game Design and Programming. Objectives Classify the games How games are design How games are implemented What are the main components of a game engine.
Test Environments Arun Murugan – u Rohan Ahluwalia – u Shuchi Gauri – u
Administrivia Turn in ranking sheets, we’ll have group assignments to you as soon as possible Homeworks Programming Assignment 1 due next Tuesday Group.
1 Chapter 4. 2 Measure, Report, and Summarize Make intelligent choices See through the marketing hype Key to understanding underlying organizational motivation.
Click mouse to begin program. FACTORs & mULTIPLES A Reinforcement Lesson.
A year 1 computer userA year 2 computer userA year 3 computer user Algorithms and programming I can create a series of instructions. I can plan a journey.
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc. All rights reserved. BUSINESS DRIVEN TECHNOLOGY Chapter Twelve: Integrating the Organization from.
Why the hell software testing?!
Software Testing: Introduction Iain McCowatt imccowatt.
Elementary School Observation by Victoria DeRoy.
System Development Life Cycle. The Cycle When creating software, hardware, or any kind of product you will go through several stages, we define these.
1. A closer look at Testing Hans Axelsson The view of testing in this presentation is that of my own and doesn’t necessarily coincide with any official.
Programming Fundamentals. Today’s lecture Decisions If else …… Switch Conditional Operators Logical Operators.
Black Box Software Testing Copyright © Cem Kaner & James Bach 1 Black Box Software Testing Fall 2005 Overview—Part 2 (Mission of Testing) Cem Kaner,
Synopsis Writing.
EXPLORING “BEST PRACTICES” Let’s Test Mission Help me build the closing keynote: “A Critical Look at Best Practices”A Critical Look at Best Practices.
1 CS/EE 362 Hardware Fundamentals Lecture 9 (Chapter 2: Hennessy and Patterson) Winter Quarter 1998 Chris Myers.
I Power Higher Computing Software Development The Software Development Process.
The next generation tester! 1 To Softec – Silicon India attendees With love, Pradeep Soundararajan Moolya Software Testing Private Limited
Making Decisions uCode: October Review What are the differences between: o BlueJ o Java Computer objects represent some thing or idea in the real.
Grade Book Database Presentation Jeanne Winstead CINS 137.
Presenting: Vivien Ibironke Ibiyemi Tools for becoming a better tester.
JFK-103B1W2 JFK-102B3W2.  Are you having trouble with your skills?  We can help you with that! Our training program has helped many people all across.
The Software Development Process
Session # Rational User Conference 2002 Author Note: To edit Session # go to: View/Master/Title Master ©1998, 1999, 2000, 2001, 2002 Rational Software.
From The Academe to Industry: Context-Driven Software Engineering Matthew Heusser Excelon Development – xndev.com - Presented to CS 611.
READ LIKE A READER Thinking About How You Read – Reading Strategies.
The Anatomy of a Computer Program Unit 3. Programs are Directions  A computer carries out the instructions in a program, line by line, exactly as they.
Domain Processes Know your customer.. Last Class - "Life Cycles" the process we will use to create the software product This Class - "Domain Processes"
Iteration. Iteration: Review  If you wanted to display all the numbers from 1 to 1000, you wouldn’t want to do this, would you? Start display 1 display.
World Conference – Next Generation Testing 08 – 12 July, Le-Meridien, Bangalore Mindmaps and Exploratory Testing Ajay Balamurgadas Meeta Prakash
Writing to Teach - Tutorials Chapter 2. Writing to Teach - Tutorials The purpose of a tutorial is to accommodate information to the needs of the user.
Searching CSE 103 Lecture 20 Wednesday, October 16, 2002 prepared by Doug Hogan.
Boundary Value Testing 1.A type of “Black box” functional testing –The program is viewed as a mathematical “function” –The program takes inputs and maps.
Importance of formative literacy experiences Daniella Ramos.
Getting Started With Scratch Brendan Routledge
Learning to use a ‘For Loop’ and a ‘Variable’. Learning Objective To use a ‘For’ loop to build shapes within your program Use a variable to detect input.
Copyright (c) Cem Kaner. All Rights Reserved. 1 Black Box Software Testing (Professional Seminar) Cem Kaner, J.D., Ph.D. Professor of Computer.
Excel Lesson 15 Working with Auditing and Analysis Tools
The Role Reversal
Black Box Software Testing Spring 2005
7 - Programming 7P, Q, R - Testing.
Introduction to System Analysis and Design
UNIT 3 – LESSON 5 Creating Functions.
Teaching design techniques to design efficient solutions to problems
Learning to Program in Python
Insert District / School / Class Name
[Your company] Business Plan [Street Address City, State & Zip Code
INTERMEDIATE PROGRAMMING LESSON
Black Box Software Testing Fall 2004
Computer Science Testing.
INTERMEDIATE PROGRAMMING LESSON
Applying Use Cases (Chapters 25,26)
IPC144 Introduction to Programming Using C Week 4 – Lesson 2
System analysis and design
Exploring Exploratory Testing
Presentation transcript:

Becoming a Better Software Tester Bernie Berger Test Assured, Inc. Pace University “Code Detectives” Student Seminar Series Tuesday, October 17, 2006

Becoming a Top Software Tester Software Testers are in high demand – Especially on Wall Street Top Testers are well compensated You can learn how to become a Top Tester My Background

Immediate & Lasting Benefits Better tested programs are more valuable Good testers make better developers Better marketability

Key Point #1 Average Testers only consider simple, happy users when testing. Top Testers consider multiple stakeholders of the product.

Multiple Stakeholders Different kinds of Users – Lazy – Impatient – Stupid – Malicious – Disabled Other Stakeholders – Deployment & Installation – Admin & Support – Bugs & Enhancements “No one would do that” really means… “No one, who I like, would do that on purpose” - J. Bach

Key Point #2 Average Testers use simplistic boundary checks in input fields. Top Testers think about new and different ways to cross boundaries.

Crossing Boundaries Are there boundaries within a range? Example: Stock Price Alert – Up/Down? – Repeat? – Up/Up and Down/Down? – Which variable changes? Example: Loops

Key Point #3 Average Testers test sequentially. Top Testers test concurrently.

Concurrency Testing Test Multi-Process Synchronization Test for Atomic Operations Deadlocks – When multiple actions are waiting for each other to finish, and thus none ever does (wikipedia) Timing Issues – Just before, during, just after

Key Point #4 Average Testers test per specification. Top Testers construct market-triggered test scenarios.

Market-Triggered Scenarios Corporate Actions: Splits Interest Rates Unemployment Reports Other News

Key Point #5 THE BIGGEST SECRET OF THEM ALL Average Testers learn what they are taught. Top Testers challenge what they are taught and do not believe a word until they reconstruct the ideas for themselves.

The 7 Principles of Context-Driven Testing 1. The value of any practice depends on its context. 2. There are good practices in context, but there are no best practices. 3. People, working together, are the most important part of any project's context. 4. Projects unfold over time in ways that are often not predictable. 5. The product is a solution. If the problem isn't solved, the product doesn't work. 6. Good software testing is a challenging intellectual process. 7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products. Source:

Summary Consider Multiple Stakeholders Think of new boundaries to test Test Concurrently Test Market-Triggered Scenarios Rethink whatever you ’ ve been taught to believe about software in your own way. Be skeptical of everything. Message: Top Testers Think Outside the Box

Thank You!! Questions???

Bonus Slide – Recommended Reading Thinking like a tester means thinking “ out of the box ” and the first step in thinking out of the box is thinking, period. Here are some books and other resources I like that helped me think better. Thinking and Deciding, by Jonathan Baron The Logic of Failure, by Dietrich Dorner Lessons Learned in Software Testing, by Cem Kaner, James Bach, and Bret Pettichord How to Break Software, by James Whittaker Read anything written by Gerald Weinberg Study Lateral Thinking Puzzles Play “ 20 Questions ” Watch the movie “ The Pentagon Wars ”