1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Case Studies Instructor Paulo Alencar.

Slides:



Advertisements
Similar presentations
Scientific Enquiry, Scientific Process or Problem Solving?
Advertisements

Significance Testing.  A statistical method that uses sample data to evaluate a hypothesis about a population  1. State a hypothesis  2. Use the hypothesis.
Overview Introduces a new cohesion metric called Conceptual Cohesion of Classes (C3) and uses this metric for fault prediction Compares a new cohesion.
Overview Discrete Mathematics for Testers Set Theory Functions
Analysis of Variance Outlines: Designing Engineering Experiments
1.4 Programming Tools Flowcharts Pseudocode Hierarchy Chart
3.1.3 Program Flow control_1 Understand the need for structure Breaking things down.
Clearly Visual Basic: Programming with Visual Basic 2008 Chapter 9 Decisions, Decisions, Decisions.
CPSC 413 Fall To learn the material in CPSC 413 and get the grade I’m aiming for will require me to put significant effort into the course.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Case Studies Instructor Paulo Alencar.
solution If a quadratic equation is in the form ax 2 + c = 0, no bx term, then it is easier to solve the equation by finding the square roots. Solve.
Programming Tools Flowcharts Pseudocode Algorithm Chapter 2.
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Chapter 1 The Art of Problem Solving © 2007 Pearson Addison-Wesley.
Overview of the Rose-Hulman Bachelor of Science in Software Engineering Don Bagert SE Faculty Retreat – New Faculty Tutorial August 23, 2005.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Assessing and Estimating Corrective, Enhancive, and Reductive.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Chapter 3 Planning Your Solution
Statistical Comparison of Two Learning Algorithms Presented by: Payam Refaeilzadeh.
Distinctions Between Computing Disciplines
Lesson 13.4 Solving Radical Equations. Squaring Both Sides of an Equation If a = b, then a 2 = b 2 Squaring both sides of an equation often introduces.
Miss V Tatler Computer Science Subject Leader
CSCI-100 Introduction to Computing Algorithms Part I.
Introduction to Programming Prof. Rommel Anthony Palomino Department of Computer Science and Information Technology Spring 2011.
CS4472A : Specification, Testing and Quality Assurance Instructor: Shaimaa Ali.
How Significant Is the Effect of Faults Interaction on Coverage Based Fault Localizations? Xiaozhen Xue Advanced Empirical Software Testing Group Department.
GCSE Computer Science 2 YEAR COURSE Business & ICT Department.
The Program Development Cycle
Automata, Computability, and Complexity Lecture 1 Section 0.1 Wed, Aug 22, 2007.
Research Model Problem and Research Approach  In today’s climate of increasingly large computer science classes, educators face the challenge of delivering.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 23 Instructor Paulo Alencar.
Graph Data Management Lab, School of Computer Science Add title here: Large graph processing
Chapter 4 Calculators for Electricity and Electronics.
Top-Down Design and Modular Development. The process of developing methods for objects is mostly a process of developing algorithms; each method is an.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
IN:  What is science?  What is engineering?. The Scientific Method = organized approach to problem-solving (Old View)  Observation  State the Problem.
Article Summary of The Structural Complexity of Software: An Experimental Test By Darcy, Kemerer, Slaughter and Tomayko In IEEE Transactions of Software.
Project Demonstration Template Computer Science University of Birmingham.
1 Programming Tools Flowcharts Pseudocode Hierarchy Chart Direction of Numbered NYC Streets Algorithm Class Average Algorithm.
CS 1120: Computer Science II Software Life Cycle Slides courtesy of: Prof. Ajay Gupta and Prof. James Yang (format and other minor modifications by by.
NAME OF STUDENT 1 NAME OF STUDENT 2 NAME OF STUDENT 3 NAME OF STUDENT 4 NAME OF SUPERVISOR.
Expressing Algorithms as Flowcharts and Pseudocode
Flowcharts C++ Lab. Algorithm An informal definition of an algorithm is: a step-by-step method for solving a problem or doing a task. Input data A step-by-step.
IT Job Roles. ICT Technician An ICT technician is a person who works in an IT based environment and their job is to fix any computer that is not functioning.
Transfer and Multitask Learning Steve Clanton. Multiple Tasks and Generalization “The ability of a system to recognize and apply knowledge and skills.
Problem Solving.  Similar to Solving Math Word Problem  Read the Problem  Decide how to go about Solving the Problem  Solve the Problem  Test the.
How Computers Solve Problems Computers also use Algorithms to solve problems, and change data into information Computers can only perform one simple step.
Software Engineering Algorithms, Compilers, & Lifecycle.
Chapter 0 - Introduction
Chapter One Problem Solving
Programming – Algorithms (Flowcharts)
ICS 3UI - Introduction to Computer Science
Chapter One Problem Solving
CS4311 Spring 2011 Process Improvement Dr
Entry Task Solve the System x + 7 = y -4x + 2 = y.
IN: What is science? What is engineering?.
What is Computer Science?
( 1, -2 ) ( -2, 1 ) ( -1, 1 ) ( 1, 1 ) ( t, 2t - 3 ) ( t, -1t - 2 )
Problem Solving: Structure Charts
CS 1120: Computer Science II Software Life Cycle
Flowcharts and Pseudocode
Department of Computer Science & Engineering, HITEC University, Taxila
#1 #2 #3 Solve: 21 ÷ Solve: Solve: 3 (7 + 4) 12 ÷ 3 – 2 + 1
Introduction to programming
Solve the equation: 6 x - 2 = 7 x + 7 Select the correct answer.
CS 1120: Computer Science II Software Life Cycle
Basic Concepts of Algorithm
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Case Studies Instructor Paulo Alencar

2 Overview  Investigate the relationship between pair programming and program design tasks  Isolating and measuring productivity gains of pairs in design-related tasks  The controlled experiments involved professional programmers who performed programming aptitude tasks related to problem solving and algorithm design  In two case studies pairs significantly outperformed individuals, providing evidence of the value of pairs in design-related tasks  Man, K., Chan, K., Nosek, J., The Effect of Pairs in Program Design Tasks, IEEE Transactions on Software Engineering, vol. 34, no. 2, pp , March/April 2008.

3 Main Results Research question: - Do pairs outperform individuals in program design-related tasks? In previous experiments design-related tasks were intermingled with code: - Nosek – PP is productive Full-time programmers Controlled experiment - Nawrocki and Wojciechowski – PP is not productive Fouth-year computer science students Controlled experiment

4 Main Results Measuring productivity Time productivity can be measured in two important ways: - the elapsed time to complete the task - the total effort/time of the programmer completing the task A single measure was proposed: - Relative Effort Afforded by Pairs (REAP): REAP = (finish_time_of_pair) * 2 – (finish-time_of_individual) (finish_time_of_individual) * 100 % REAP < 0 – total time of pair is less REAP = 0 – total time of pair is the same 0< REAP < 100 – pairs require more time to complete task REAP = 100 – pairs require double the time REAP > 100 – pairs require more time

5 Main Results Experiment 1 – Procedural solution tasks – -A procedural algorithm task (15 multiple-choice questions on five procedural algorithmic tasks – flowcharts) Research question: do pairs outperform individuals in procedural solution tasks? Hypothesis: - H1: There will be no statistically significant difference in performance, measured in the elapsed time required to obtain all correct answers, between pairs and individuals H2: There will be no statistically significant difference in performance, measured by the number of resubmissions required to obtain all correct answers

6 Main Results Visualization of process of Experiment 1:

7 Main Results Feedback Mechanism:

8 Main Results Results of Experiment 1

9 Main Results Time of pairs and individuals per resubmission:

10 Main Results Experiment 2 – Deductive problem solving – -Sequences of three letters or squares with numbers used as problem from which an algorithm can be devised Research question: do pairs outperform individuals in deductive problem solving? Hypothesis: - H1: There will be no statistically significant difference in performance, measured in the elapsed time between subjects divided in pairs to solve a set of deductive problems - H2: There will be no statistically significant difference in performance, measured by the number of resubmissions to solve a set of deductive problems

11 Main Results Visualization of the process of Experiment 2:

12 Main Results Results of Experiment 2

13 Main Results Time of the pairs and the individuals per resubmission: