Informatics 43 Introduction to Software Engineering Final Exam Spring, 2015

Similar documents
10. Software Testing Fundamental Concepts

(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt

Lecture 15 Software Testing

Chapter 11, Testing. Using UML, Patterns, and Java. Object-Oriented Software Engineering

Topic: Software Verification, Validation and Testing Software Engineering. Faculty of Computing Universiti Teknologi Malaysia

Software Testing CS 408

Introduction to Software Engineering (ESE : Einführung in SE) Prof. O. Nierstrasz

Software Quality Assurance (SQA) Software Quality Assurance

Tutorial 1 Answers. Question 1

Topics in Software Testing

(A Very Brief) Introduction to Software Engineering

Software Engineering

Darshan Institute of Engineering & Technology for Diploma Studies

Software Verification and Validation (VIMMD052) Introduction. Istvan Majzik Budapest University of Technology and Economics

Introduction to Software Engineering

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD

CSE 70 Final Exam Fall 2009

Testing. Prof. Clarkson Fall Today s music: Wrecking Ball by Miley Cyrus

Test Driven Development TDD

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

Chapter 10. Testing and Quality Assurance

Software Design Models, Tools & Processes. Lecture 6: Transition Phase Cecilia Mascolo

Computational Systems COMP1209

Introduction to Software Engineering (ESE : Einführung in SE)

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Developing successful posters using Microsoft PowerPoint

Manuel Oriol, CHCRC-C, Software Testing ABB

Verification and Validation

SE420 - Software Quality Assurance

CSE 374 Programming Concepts & Tools. Hal Perkins Fall 2015 Lecture 15 Testing

CMSC 476/676 Information Retrieval Midterm Exam Spring 2014

Testing. UW CSE 160 Winter 2016

Write perfect C code to solve the three problems below.

Software Testing Interview Question and Answer

Islamic University of Gaza Faculty of Engineering Computer Engineering Department

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

Word and Excel Assignment Assessment

MONIKA HEINER.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Certified Tester Foundation Level(CTFL)

Testing in Agile Software Development

WHITE PAPER. 10 Reasons to Use Static Analysis for Embedded Software Development

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Calculus II. Step 1 First, here is a quick sketch of the graph of the region we are interested in.

Semantics of programming languages

Software Development. Software Testing: Verification and Validation. Verification and Validation (V&V) Verification. Validation

Software Engineering I (02161)

CITS5501 Software Testing and Quality Assurance Formal methods

Software Testing MANUAL TESTING. Introduction to Testing. Software Quality Software Testing Definition. Different Life Cycle Models Waterfall Model

Object-Oriented Programming CSCI-UA

Section Marks Pre-Midterm / 32. Logic / 29. Total / 100

Lecture 2: Software Engineering (a review)

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45

Professor Hausi A. Müller PhD PEng FCAE Department of Computer Science Faculty of Engineering University of Victoria

AXIOMS FOR THE INTEGERS

CMPSCI 250: Introduction to Computation. Lecture #22: Graphs, Paths, and Trees David Mix Barrington 12 March 2014

Learning objectives: Software Engineering. CSI1102: Introduction to Software Design. The Software Life Cycle. About Maintenance

Patterns and Testing

Software Quality. Richard Harris

The Specification Phase

Topics. Software Process. Agile. Requirements. Basic Design. Modular Design. Design Patterns. Testing. Quality. Refactoring.

The software lifecycle and its documents

WHY TEST SOFTWARE?...

SE310 Analysis and Design of Software Systems

Object-Oriented Software Engineering Conquering Complex and Changing Systems. Chapter 9, Testing

Levels of Testing Testing Methods Test Driven Development JUnit. Testing. ENGI 5895: Software Design. Andrew Vardy

Using VectorCAST/C++ with Test Driven Development. Whitepaper V

CS 4317: Human-Computer Interaction

Ingegneria del Software Corso di Laurea in Informatica per il Management

Learning the Hard Way

(From Glenford Myers: The Art of Software Testing)

Testing! The material for this lecture is drawn, in part, from! The Practice of Programming (Kernighan & Pike) Chapter 6!

This unit will help you to describe and use graphs correctly.

CS487 Midterm Exam Summer 2005

Hoare Logic. COMP2600 Formal Methods for Software Engineering. Rajeev Goré

Agile Model-Driven Development with UML 2.0 SCOTT W. AM BLER. Foreword by Randy Miller UNIFIED 1420 MODELING LANGUAGE. gile 1.

The way I feel about music is that there is no right and wrong. Only true and false. Fiona Apple. true false false

Where Can We Draw The Line?

Terminology. There are many different types of errors and different ways how we can deal with them.

Level: M.Ed. Credit Hour: 3 (2+1) Semester: Second Teaching Hour: 80(32+48)

Tuesday, November 15. Testing

Software Engineering with Objects and Components Open Issues and Course Summary

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18,

Schedule(3/3) March 18th 13:00 Unified Process and Usecase-Driven Approach. (problem definition, use case model)

Chapter 8 Software Testing. Chapter 8 Software testing

CS1132 Spring 2016 Assignment 2 Due Apr 20th

Final Exam Math 38 Graph Theory Spring 2017 Due on Friday, June 2, at 12:50 pm. Good Luck!!

Semantics of programming languages

THREADS & CONCURRENCY

Software Engineering I (02161)

Object-Oriented Introduction

Program Verification! Goals of this Lecture! Words from the Wise! Testing!

Math 3820 Project. 1 Typeset or handwritten? Guidelines


CS 349 Midterm Exam Spring 2014

Quality Assurance = Testing? SOFTWARE QUALITY ASSURANCE. Meaning of Quality. How would you define software quality? Common Measures.

Software Quality Assurance. David Janzen

Software Testing. Software Testing. in the textbook. Chapter 8. Verification and Validation. Verification and Validation: Goals

Transcription:

Informatics 43 Introduction to Software Engineering Final Exam Spring, 2015 Write your name in B L O C K C A P I T A L L E T T E R S. First Name: Last Name: Student ID: 1-20 α β + γ Total Record your answers to questions 1 through 20 below by circling the letter of your response. 1. a b c d e 2. a b c d e 3. a b c d e 4. a b c d e 5. a b c d e 6. a b c d e 7. a b c d e 8. a b c d e 9. a b c d e 10. a b c d e 11. a b c d e 12. a b c d e 13. a b c d e 14. a b c d e 15. a b c d e 16. a b c d e 17. a b c d e 18. a b c d e 19. a b c d e 20. a b c d e

Multiple choice questions are worth three points each. Match each author with the appropriate quotation. Author(s) Quotation 1. Frederick Brooks A. Individuals and interactions over processes and tools 2. Edsger Dijkstra B. The multi-person development of multiversion programs. 3. Clay Shirky C. Testing can show the presence of bugs, but not their absence. 4. The authors of the Agile Manifesto D. Adding manpower to a late software project makes it later. 5. David Parnas and Brian Randell E. A screen that ships without a mouse ships broken. Media that s targeted at you but doesn t include you may not be worth sitting still for. 6. Suppose a software designer carefully reviews a project s design (consisting of written text, UML diagrams, and sketches) to make sure that it completely matches the Requirements Specification, with nothing modified or omitted. A word to describe this task is a. Validation b. Testing c. Modeling d. Verification e. Prototyping 7. The Quality Assurance goal of static analysis is to a. improve run-time b. find defects c. count KLOC d. provide black-box test cases e. prove program correctness

8. The following formula was presented in the lecture on project effort estimation: E=0.7 KLOC 1.50. In this formula, what does E mean? a. effort b. ease c. entropy d. elephant e. estimate Match each architectural style with the most suitable characteristic. Architectural Style Characteristics 9. Client-server A. The components can be utilized in any order, since they all share a common input and output format. 10. Layered B. Good for a system that reacts to user actions such as key presses, and to other external actions. 11. Model View Controller C. Enforces a separation between the presentation of information and the storage and processing of information; especially useful when information will be displayed in different ways. 12. Pipes and filters D. A provider of a resource and a requestor of the resource communicate over a network. 13. Event-driven E. Components in one group are independent of each other; they make procedure calls to components in the group below. 14. Clay Shirky was asked, Where do they find the time? What was his answer? a. They use some of the cognitive surplus. b. They stop editing Wikipedia. c. They look behind the television for the mouse. d. They adopt open source software. e. They no longer drink gin or watch sitcoms. 15. The goal of regression testing is a. to regress the software to a previous state. b. to ensure thoroughness in white box testing. c. to make sure a new feature or bug fix has not broken existing code. d. to make sure the code is readable. e. to verify the user-friendliness of new software.

16. The purpose of an oracle in testing is a. to provide a database of test cases. b. to determine whether a test case execution succeeded or failed. c. to replace formal specifications. d. to determine when testing can be stopped. e. to help identify the set of all possible inputs. 17. In which quadrant of the spiral model does testing take place? a. upper left b. upper right c. lower left d. lower right e. in all quadrants 18. John Carmack, the co-founder of Id Software and a renown game programmer, says that a certain technique has changed his mindset about the way I view software reliability and code quality. What is this technique? a. client server architecture b. static analysis c. black box testing d. the waterfall model e. Brooks Law 19. Which of the following is not one of the inherent properties of software identified by Brooks in No Silver Bullet? a. complexity b. conformity c. changeability d. invisibility e. adaptability 20. Which of the following is one of the top three failure factors for software projects, according to the Chaos Report cited in the textbook? a. Overzealous prototyping. b. Incomplete requirements and specifications. c. The invisibility of software and elephants. d. Insufficiently trained programmers. e. A false assumption that each task will take only as long as it ought to take.

α. (20 points) You have been assigned to write test cases for black box testing of a software function called DateDiff. Here is part of DateDiff's documentation: DateDiff runs on a Windows PC or a Mac. The user selects two dates using dropdown lists; all dates between Jan. 1, 1900 and Dec. 31, 2050 are supported. DateDiff displays the number of days between the two dates. For instance, the difference between May 31, 2015 and June 2, 2015 is 2. (a) What is the input domain (the set of all possible inputs) of DateDiff? (b) What is a basis for dividing the input domain you described into subdomains? (c) Using the basis defined in (b), specify 3 or 4 subdomains. (d) For each subdomain from (c), give a test case input and the expected output.

β. (15 points) You ve been assigned to design a software system that keeps track of students, the courses they have taken, and the majors they are pursuing. Draw a UML Class Diagram to start the design. Your diagram should have exactly three boxes. Your approach / level of detail can be analysis or design or conceptual. Show at least one attribute and one operation for each class. Include in your diagram two or three relationships with names and multiplicities. γ. (5 points) What is refactoring? What role does it play in Extreme Programming?