SlideShare a Scribd company logo
ICS52 - Introduction To Software Engineering
Final Exam – Winter, 2002
Name: _________________________ Student ID: ____________
1. (24 points, 4 points each) Define the following terms, as used in software
engineering:
A. Testing Oracle
A mechanism for determining whether the outcome of a test is correct.
B. Edge coverage criterion
Selecting a test set such that, after each test case in the test set has been
executed, each edge in the program's control flow graph has be executed at
least once.
C. Configuration management
Standards, procedures, and/or tools for controlling and tracking an evolving
system product.
D. CASE
Computer Aided Software Engineering. A program or computerized tool
that aids in any part of the software development or management process.
E. Stress testing
A series of tests where the load is steadily increased until the system
performance becomes unacceptible or the system fails.
F. Equivalence partition
A subset of set of all possible inputs that have common characteristics. A
subdomain (just this alone is 2 points).
2. (7 points) Define “architectural evolution” and explain one major reason why it
occurs.
Architectural evolution is change made to a system which effects the way in
which modules and sub-systems communicate with and rely on each other.
Typically centralized mainframe systems are transformed into client-server
systems. The book notes three main drivers of architectural evolution:
1. Hardware costs of distibuted (desktop) computers is going down.
2. Users are expecting graphical user interfaces associated with PCs.
3. People want distributed access to their systems.
3. (12 points.) The textbook describes, in Chapter 19 “Verification and Validation,”
several approaches to verifying a software system without relying on testing. Name
one of those approaches, and briefly describe it.
Software or program inspections. A team systematically examines the code (or
possibly a specification or design) and points out possible defects. The team may
consist of an author (owner), reader, tester or inspector, moderator, and or
scribe.
Automated static analysis. A software tool scans the source text of a program
and detects possible errors, faults, and anomolies. Steps may include Control
flow analysis, data use analysis, interface analysis, information flow analysis,
and path analysis. Lint is such a software tool.
Cleanroom software development. This approach has the objective of creating
zero-defect software. There are five key characteristics: formal specifications,
incremental development, structured programming, static verification, and
statistical testing of the system. Three teams involved are the specification team,
the development team, and the certification team.
4. (20 points) You have been assigned to design test cases for black box testing of a
Coinstar coin-counting machine. Here’s a description of that machine from
www.coinstar.com: “Got a jar of coins at home? Tired of wrapping and rolling your
coins? The Coinstar® Network consists of self-service coin counting machines
located at the front entrances of leading supermarkets nationwide. The Coinstar
machines count shoppers' accumulated coins and dispense a voucher that can be
exchanged in the store for cash or groceries.”
1. What is the input domain?
The (possibly empty) set of coins deposited in the coin receiving basket;
the roll of paper upon which the voucher is printed; ink to print on the
paper; pressing the “Print Voucher” button; electric power.
2. For the input domain you defined in (a), name a specific basis for dividing the
domain into subdomains.
The sum of the coins deposited. Assume there is electricity, sufficient
paper and ink to print the voucher, and that the user presses “Print
Voucher” afterwards.
3. Using the basis from (b), name three or four subdomains.
1. Less than five cents.
2. Five cents to 99 cents.
3. One dollar to ten dollars.
4. More than ten dollars.
4. For each subdomain from (c), give a test case input and the expected output.
1. Input: 3 pennies. Output: voucher for $0.03.
2. Input: 2 quarters. Output: voucher for $0.50.
3. Input: 21 dimes. Output: voucher for $2.10.
4. Input: 100 quarters. Output: voucher for $25.00.
5. (12 points) Draw and label a diagram representing the “spiral” software process
model.
See page 54.
Grading rubric:
Upper left quadrant: 3 pts. for mentioning at least two of ``objectives,''
``alternatives,'' ``constraints.''
Upper right quadrant: 1 point each for “evaluate alternatives,” “identify,
resolve risks,” “risk analysis,” “prototype” (to a max of 3 pts)
Lower right quadrant: 1 point each for ``develop,” “verify,” “concept of
operation,” “requirements,” “design,” “test,” “code” (to a max of 3 pts)
Lower left quadrant: 3 pts. for “plan.”
1 pt. for drawing a spiral.
This adds up to 13, but the max was 12.
6. (15 points) Recall the Scientific American article “Command and Control.”
What was a problem with the existing system, before ATAMS was started in April,
1995? Answer by describing one specific problem and a software quality or principal
discussed in lecture that was lacking in the existing system because of that problem.
Users had to scan multiple monitors for alerts that were hard to see. This
violates the quality of user-friendliness.
ATAMS was installed on time, within budget. This success was “no fluke,”
according to the article: “several techniques were used that produce better software
faster.” Describe one specific technique used in ATAMS, name one software quality
or principal discussed in lecture (it can be the same one you described above, or a
different one), and explain how the technique ensured the software quality or
followed the principle.
The system was split into small segments, which follows the principle of
modularity.
Did the development of ATAMS follow the “bazaar” model described by Eric
Raymond in “The Cathedral and the Bazaar”? Answer by describing a particular
aspect of the bazaar model that was present or missing in ATAMS.
Yes: ATAMS was developed with constant communication with users, and was
designed to undergo constant change.
No: ATAMS source was not open to a wide community of developers who each
contributed their own modifications and bug-fixes.
7. (10 points) Explain why interface testing (also called integration testing) is necessary
given that individual units have been extensively validated through unit testing.
See p. 456.
The calling component may pass the wrong parameters to the interface.
The calling component may pass parameters of the wrong type (e.g. int instead
of double) to the interface.
The called component may not behave as expected by the caller.
There may be timing errors in real-time systems.

More Related Content

Similar to Lo 09

Scalable constrained spectral clustering
Scalable constrained spectral clusteringScalable constrained spectral clustering
Scalable constrained spectral clustering
Nishanth Harapanahalli
 
midterm_fa07.pdf
midterm_fa07.pdfmidterm_fa07.pdf
midterm_fa07.pdf
RavinderKSingla
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
REHAN IJAZ
 
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
TEST Huddle
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
MuhammadTalha436
 
CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg
CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdgCS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg
CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg
RahithAhsan1
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software Testing
Amr E. Mohamed
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
Pratik Devmurari
 
Assignment Grading Rubric Course IT286 Unit 4 Po.docx
Assignment Grading Rubric  Course IT286   Unit 4    Po.docxAssignment Grading Rubric  Course IT286   Unit 4    Po.docx
Assignment Grading Rubric Course IT286 Unit 4 Po.docx
ssuser562afc1
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
gavhays
 
75629 Topic prevention measures for vulneranbilitiesNumber of.docx
75629 Topic prevention measures for vulneranbilitiesNumber of.docx75629 Topic prevention measures for vulneranbilitiesNumber of.docx
75629 Topic prevention measures for vulneranbilitiesNumber of.docx
sleeperharwell
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Abdul Basit
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
Viju Neduvathoor
 
Topic 5 chapter 2
Topic 5 chapter 2Topic 5 chapter 2
Topic 5 chapter 2
TestingGeeks
 
Software Testing - Day One
Software Testing - Day OneSoftware Testing - Day One
Software Testing - Day One
Govardhan Reddy
 
4 sdlc and stlc
4 sdlc and stlc4 sdlc and stlc
4 sdlc and stlc
Chandra Maddigapu
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
Nishant Worah
 
Mi0033
Mi0033Mi0033
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
jeyasrig
 
Lecture (Software Testing).pptx
Lecture (Software Testing).pptxLecture (Software Testing).pptx
Lecture (Software Testing).pptx
skknowledge
 

Similar to Lo 09 (20)

Scalable constrained spectral clustering
Scalable constrained spectral clusteringScalable constrained spectral clustering
Scalable constrained spectral clustering
 
midterm_fa07.pdf
midterm_fa07.pdfmidterm_fa07.pdf
midterm_fa07.pdf
 
Programming Fundamentals lecture 3
Programming Fundamentals lecture 3Programming Fundamentals lecture 3
Programming Fundamentals lecture 3
 
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
Anders Claesson - Test Strategies in Agile Projects - EuroSTAR 2010
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg
CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdgCS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg
CS2006Ch02A.ppt dfxgbfdcgbhfcdhbfdcbfdcgfdg
 
SE2_Lec 20_Software Testing
SE2_Lec 20_Software TestingSE2_Lec 20_Software Testing
SE2_Lec 20_Software Testing
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
Assignment Grading Rubric Course IT286 Unit 4 Po.docx
Assignment Grading Rubric  Course IT286   Unit 4    Po.docxAssignment Grading Rubric  Course IT286   Unit 4    Po.docx
Assignment Grading Rubric Course IT286 Unit 4 Po.docx
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
 
75629 Topic prevention measures for vulneranbilitiesNumber of.docx
75629 Topic prevention measures for vulneranbilitiesNumber of.docx75629 Topic prevention measures for vulneranbilitiesNumber of.docx
75629 Topic prevention measures for vulneranbilitiesNumber of.docx
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Intro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptxIntro-Soft-Engg-2.pptx
Intro-Soft-Engg-2.pptx
 
Topic 5 chapter 2
Topic 5 chapter 2Topic 5 chapter 2
Topic 5 chapter 2
 
Software Testing - Day One
Software Testing - Day OneSoftware Testing - Day One
Software Testing - Day One
 
4 sdlc and stlc
4 sdlc and stlc4 sdlc and stlc
4 sdlc and stlc
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Mi0033
Mi0033Mi0033
Mi0033
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
 
Lecture (Software Testing).pptx
Lecture (Software Testing).pptxLecture (Software Testing).pptx
Lecture (Software Testing).pptx
 

More from liankei

Lo 19
Lo 19Lo 19
Lo 19
liankei
 
Lo 18
Lo 18Lo 18
Lo 18
liankei
 
Lo 13
Lo 13Lo 13
Lo 13
liankei
 
Lo 12
Lo 12Lo 12
Lo 12
liankei
 
Lo 11
Lo 11Lo 11
Lo 11
liankei
 
Lo 06
Lo 06Lo 06
Lo 06
liankei
 
Lo 05
Lo 05Lo 05
Lo 05
liankei
 
Lo 04
Lo 04Lo 04
Lo 04
liankei
 
Lo 01
Lo 01Lo 01
Lo 01
liankei
 
Lo 16
Lo 16Lo 16
Lo 16
liankei
 
Lo 15
Lo 15Lo 15
Lo 15
liankei
 
Lo 08
Lo 08Lo 08
Lo 08
liankei
 
Lo 03
Lo 03Lo 03
Lo 03
liankei
 
Lo 20
Lo 20Lo 20
Lo 20
liankei
 
Lo19
Lo19Lo19
Lo19
liankei
 
Lo20
Lo20Lo20
Lo20
liankei
 
Lo17
Lo17Lo17
Lo17
liankei
 
Lo18
Lo18Lo18
Lo18
liankei
 
Lo15
Lo15Lo15
Lo15
liankei
 
Lo16
Lo16Lo16
Lo16
liankei
 

More from liankei (20)

Lo 19
Lo 19Lo 19
Lo 19
 
Lo 18
Lo 18Lo 18
Lo 18
 
Lo 13
Lo 13Lo 13
Lo 13
 
Lo 12
Lo 12Lo 12
Lo 12
 
Lo 11
Lo 11Lo 11
Lo 11
 
Lo 06
Lo 06Lo 06
Lo 06
 
Lo 05
Lo 05Lo 05
Lo 05
 
Lo 04
Lo 04Lo 04
Lo 04
 
Lo 01
Lo 01Lo 01
Lo 01
 
Lo 16
Lo 16Lo 16
Lo 16
 
Lo 15
Lo 15Lo 15
Lo 15
 
Lo 08
Lo 08Lo 08
Lo 08
 
Lo 03
Lo 03Lo 03
Lo 03
 
Lo 20
Lo 20Lo 20
Lo 20
 
Lo19
Lo19Lo19
Lo19
 
Lo20
Lo20Lo20
Lo20
 
Lo17
Lo17Lo17
Lo17
 
Lo18
Lo18Lo18
Lo18
 
Lo15
Lo15Lo15
Lo15
 
Lo16
Lo16Lo16
Lo16
 

Recently uploaded

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 

Recently uploaded (20)

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 

Lo 09

  • 1. ICS52 - Introduction To Software Engineering Final Exam – Winter, 2002 Name: _________________________ Student ID: ____________ 1. (24 points, 4 points each) Define the following terms, as used in software engineering: A. Testing Oracle A mechanism for determining whether the outcome of a test is correct. B. Edge coverage criterion Selecting a test set such that, after each test case in the test set has been executed, each edge in the program's control flow graph has be executed at least once. C. Configuration management Standards, procedures, and/or tools for controlling and tracking an evolving system product. D. CASE Computer Aided Software Engineering. A program or computerized tool that aids in any part of the software development or management process. E. Stress testing A series of tests where the load is steadily increased until the system performance becomes unacceptible or the system fails. F. Equivalence partition A subset of set of all possible inputs that have common characteristics. A subdomain (just this alone is 2 points).
  • 2. 2. (7 points) Define “architectural evolution” and explain one major reason why it occurs. Architectural evolution is change made to a system which effects the way in which modules and sub-systems communicate with and rely on each other. Typically centralized mainframe systems are transformed into client-server systems. The book notes three main drivers of architectural evolution: 1. Hardware costs of distibuted (desktop) computers is going down. 2. Users are expecting graphical user interfaces associated with PCs. 3. People want distributed access to their systems. 3. (12 points.) The textbook describes, in Chapter 19 “Verification and Validation,” several approaches to verifying a software system without relying on testing. Name one of those approaches, and briefly describe it. Software or program inspections. A team systematically examines the code (or possibly a specification or design) and points out possible defects. The team may consist of an author (owner), reader, tester or inspector, moderator, and or scribe. Automated static analysis. A software tool scans the source text of a program and detects possible errors, faults, and anomolies. Steps may include Control flow analysis, data use analysis, interface analysis, information flow analysis, and path analysis. Lint is such a software tool. Cleanroom software development. This approach has the objective of creating zero-defect software. There are five key characteristics: formal specifications, incremental development, structured programming, static verification, and statistical testing of the system. Three teams involved are the specification team, the development team, and the certification team.
  • 3. 4. (20 points) You have been assigned to design test cases for black box testing of a Coinstar coin-counting machine. Here’s a description of that machine from www.coinstar.com: “Got a jar of coins at home? Tired of wrapping and rolling your coins? The Coinstar® Network consists of self-service coin counting machines located at the front entrances of leading supermarkets nationwide. The Coinstar machines count shoppers' accumulated coins and dispense a voucher that can be exchanged in the store for cash or groceries.” 1. What is the input domain? The (possibly empty) set of coins deposited in the coin receiving basket; the roll of paper upon which the voucher is printed; ink to print on the paper; pressing the “Print Voucher” button; electric power. 2. For the input domain you defined in (a), name a specific basis for dividing the domain into subdomains. The sum of the coins deposited. Assume there is electricity, sufficient paper and ink to print the voucher, and that the user presses “Print Voucher” afterwards. 3. Using the basis from (b), name three or four subdomains. 1. Less than five cents. 2. Five cents to 99 cents. 3. One dollar to ten dollars. 4. More than ten dollars. 4. For each subdomain from (c), give a test case input and the expected output. 1. Input: 3 pennies. Output: voucher for $0.03. 2. Input: 2 quarters. Output: voucher for $0.50. 3. Input: 21 dimes. Output: voucher for $2.10. 4. Input: 100 quarters. Output: voucher for $25.00.
  • 4. 5. (12 points) Draw and label a diagram representing the “spiral” software process model. See page 54. Grading rubric: Upper left quadrant: 3 pts. for mentioning at least two of ``objectives,'' ``alternatives,'' ``constraints.'' Upper right quadrant: 1 point each for “evaluate alternatives,” “identify, resolve risks,” “risk analysis,” “prototype” (to a max of 3 pts) Lower right quadrant: 1 point each for ``develop,” “verify,” “concept of operation,” “requirements,” “design,” “test,” “code” (to a max of 3 pts) Lower left quadrant: 3 pts. for “plan.” 1 pt. for drawing a spiral. This adds up to 13, but the max was 12.
  • 5. 6. (15 points) Recall the Scientific American article “Command and Control.” What was a problem with the existing system, before ATAMS was started in April, 1995? Answer by describing one specific problem and a software quality or principal discussed in lecture that was lacking in the existing system because of that problem. Users had to scan multiple monitors for alerts that were hard to see. This violates the quality of user-friendliness. ATAMS was installed on time, within budget. This success was “no fluke,” according to the article: “several techniques were used that produce better software faster.” Describe one specific technique used in ATAMS, name one software quality or principal discussed in lecture (it can be the same one you described above, or a different one), and explain how the technique ensured the software quality or followed the principle. The system was split into small segments, which follows the principle of modularity. Did the development of ATAMS follow the “bazaar” model described by Eric Raymond in “The Cathedral and the Bazaar”? Answer by describing a particular aspect of the bazaar model that was present or missing in ATAMS. Yes: ATAMS was developed with constant communication with users, and was designed to undergo constant change. No: ATAMS source was not open to a wide community of developers who each contributed their own modifications and bug-fixes.
  • 6. 7. (10 points) Explain why interface testing (also called integration testing) is necessary given that individual units have been extensively validated through unit testing. See p. 456. The calling component may pass the wrong parameters to the interface. The calling component may pass parameters of the wrong type (e.g. int instead of double) to the interface. The called component may not behave as expected by the caller. There may be timing errors in real-time systems.