Inf43 Midterm Study Guide (Part 3)

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

In software testing, a failure may lead to an error, but not all failures result in errors (True/False)

False

Which one of the following user interface examples best incorporates the Nielsen heuristic "User control and freedom"? a) "Undo" button b) Progress bar during a file download c) Disabling a button that, when clicked, would lead to an error condition d) Auto-complete e) A magnifying glass icon on a search button f) Keyboard shortcuts

a) "Undo" button

The Rational Unified Process (RUP) shows several big activities (phases) on its *y axis*. Which of the following shows clearly on the *x axis* of RUP: a) Software coding/implementation b) Software testing c) Iteration(s) d) Requirements specification e) Software complexity f) Software visibility

c) Iteration(s)

We said that we can use a template to describe a Persona. Which of the following is **not** typically allowed/included in a Persona description: a) Name and picture of an unknown/fictitious person b) Their needs and wishes (of the new application) c) Name and picture of a famous person, like LeBron James d) Their life story/life experiences e) Their goals f) Their technical skills and experience g) A personal profile of the Persona

c) Name and picture of a famous person, like LeBron James

Choosing test cases such that each possible way to "flow" through the diagram is visited at least once, is called: a) Node coverage b) Condition coverage c) Path coverage d) Loop coverage e) Branch coverage

c) Path coverage

Which one of the following user interface examples best incorporates the Nielsen heuristic "Accelerators"? a) A detailed error message that suggests ways to recover from the error b) Progress bar during a file download c) Auto-complete d) A magnifying glass icon on a search button e) Disabling a button that, when clicked, would lead to an error condition f) Keyboard shortcuts

f) Keyboard shortcuts

We listed several ways or methods to choose test cases. Which of the following was *not* mentioned as a way to choose test cases: a) White-box testing b) Existing test cases c) Intuition d) Existing faults e) Black-box testing f) Premonition g) Specification-based testing

f) Premonition

In Lecture we discussed the UI/UX method of Interviews and Observations. a) Define in one sentence each, what is meant by Interviews, and by Observations, for UI/UX purposes. b) Is it more effective to use both Interview and Observation methods, instead of just one? If Yes, explain using at most one paragraph, why is it better to combine both Interview and Observation methods?

Answers may vary. My answer: a) For UI/UX purposes, interviews is when a company gives the users (customers) surveys or asks them for feedback after using a certain feature on their application. By observations, it is meant that the company will study how a user interacts with certain features on their app, and collect data on these interactions for research. b) It is more effective to use both interview and observation methods rather than just one of the two methods. It is better to combine these two methods together because the company who is conducting these interviews and observations is able to get more data regarding certain features they are studying by both collecting data through observations and by asking the customers what they liked or disliked about their application. By using both methods, they get to actually hear feedback from the users about what they liked or disliked about the feature(s), and see if their interactions match the feedback and back up what they use or not use on the app.

In 3 different Lectures, we gave examples of software failures. One of the well-known failures is the Therac-25 radiation-machine incident which was blamed, at least partially, on software. (a) Describe in one paragraph only, what was the Therac-25 incident? How can software cause or lead to such as failure? (b) Software testing is one of the important ways to detect and prevent software failures. Pick one testing method (such as blackbox or whitebox testing (but not both)) and explain, in one paragraph only, how it works and how it helps detect potential bugs and failures. Can software testing confirm the absence of all bugs? If not, why not? (c) Are blackbox and whitebox testing "mutually exclusive", in other words, the methods should not be combined? If they should be combined, what are the benefit(s) of using both blackbox and whitebox testing?

Answers may vary. My answer: a) The Therac-25 incident was an accident that occurred when a radiation machine in a hospital emitted too much radiation onto its patients, burning their skin and emitting fatal doses of radiation. Software can lead to failures like this if the code running this is not tested properly or written poorly, thus bugging out on certain inputs that were not in the expected range of inputs when the software was released. b) One testing method used to detect and prevent software failures is blackbox testing. Blackbox testing works by developing different bases for which test cases can be ran on the software, covering as many possible inputs that can be thought of. Within each basis are subdomains, which divide the test cases further to cover all possible parts of the basis, and then within each subdomain are sample tests which can be ran, with an expected output so the developers know what to expect when running these tests on the actual software. Software testing cannot confirm the absence of all bugs, since it is impossible to run every possible test on the software due to time and budget constraints. However, it is possible to minimize the number of bugs within certain bases if the correct bases, subdomains, and test cases are chosen and ran. c) Blackbox and whitebox testing are not "mutually exclusive", so they should be combined to make the most out of both testing methods. Some of the benefits of blackbox and whitebox testing is that first the blackbox testing can be used to choose and develop the correct types of bases and tests to be run without looking at any of the code. Then, whitebox testing can be used to take those tests from blackbox testing and actually looking at the code and write the tests needed to cover every line of code in the program.

Think of an experience you had with a software application (including games, e-commerce, mobile apps, etc.) which was a positive experience, primarily because of the user experience (the user is you!) a) Describe the positive experience in one sentence. b) Describe one design principle that underlies your positive experience -- was it fast or accurate, fun or engaging or challenging, etc. c) Describe in one sentence how the experience affected your decision -- did you download the app, start playing a new game, etc.

Answers may vary. My answer: a) The positive experience of using the app Instagram is that I was able to go to their explore page and browse through hours of entertainment catered to what I usually watch and am interested in (which is primarily gaming). b) One design principle that underlies the experience is that it was fun to use, since the content shown was stuff that I was interested in, making it enjoyable for me to watch the different contents. c) Since I had already downloaded the application at the time of using it (and at the time of my positive experience), the effect this had on me was that I ended up using Instagram more frequently and for longer periods of time.

Software testing can prove a system's correctness (True/False)

False

In Lecture we said that one of the benefits of UI/UX (and putting effort into good UI/UX) is called retention. Think of two different types of retention that are supported/afforded by better UI/UX. For each type: a) Define in one sentence this type of retention (what or who is being retained?) b) Describe in one sentence why better UI/UX improves this type of retention.

Still unsure... My answer: a) One type of retention in UI/UX is user retention, where a company will study the user's interactions with certain features of the application and see whether this corresponds to what feedback they got back regarding a certain feature on the app (user is being retained). Another type of retention in UI/UX is feature retention, where a company will study the feature's interactions with a user and see whether or not the features being used are helpful to the user (feature(s) is being retained). b) Better UI/UX improves user retention because it makes it easier for the user to navigate these features (figure out how to use them), thus allowing more users to use this and collect more data on the features. Better UI/UX improves feature retention because it allows for the company to see what features are used by which users, and allows more features to be used and interacted with by the users.

Which one of the following user interface examples best incorporates the Nielsen heuristic "Consistency and standards"? a) A magnifying glass icon on a search button b) A detailed error message that suggests ways to recover from the error c) Auto-complete d) Keyboard shortcuts e) Disabling a button that, when clicked, would lead to an error condition

a) A magnifying glass icon on a search button

Extreme Programming (XP): a) Introduced in 1999, it was the first lightweight process model b) Introduced by Barry Boehm, it dominated the 1980's c) Introduced in 2001, in the Agile Manifesto d) Was the first "real" process model and dominated the 1970's e) Used iterations along the time axis, and dominated the 1990's

a) Introduced in 1999, it was the first lightweight process model

In our Lecture materials on UI/UX methods, what are design guidelines? a) Using principles based on research to assess the usability of a system b) A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience c) A profile of a fictional potential user that helps you make user-centered decisions during development d) A story-like textual description of a system's usage e) A series of pictures shown in a sequence to visualize the user experience and interaction

b) A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience

In our Lecture materials on UI/UX methods, a scenario is: a) A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience b) A story-like textual description of a system's usage c) A series of pictures shown in a sequence to visualize the user experience and interaction d) A profile of a fictional potential user that helps you make user-centered decisions during development e) Using principles based on research to assess the usability of a system

b) A story-like textual description of a system's usage

We said that Storyboards are flexible and can include various elements. Which of the following is **not** typically allowed/included in a Storyboard description: a) Text descriptions b) Class names, attributes, and operations (methods) c) Pictures from real-life or real-world situations d) Sketching and "doodling" e) A sequence of images or drawings f) Cartoons and animations

b) Class names, attributes, and operations (methods)

Testing software by building (and running) more and more test cases over time, is called: a) Whitebox Testing b) Regression Testing c) Progressive Testing d) Blackbox Testing e) Load Testing f) Aggressive Testing

b) Regression Testing

The Rational Unified Process (RUP): a) Introduced in 1999, it was the first lightweight process model b) Used iterations along the time axis, and dominated the 1990's c) Introduced in 2001, in the Agile Manifesto d) Introduced by Barry Boehm, it dominated the 1980's e) Was the first "real" process model and dominated the 1970's

b) Used iterations along the time axis, and dominated the 1990's

In our Lecture materials on UI/UX methods, a persona is: a) Using principles based on research to assess the usability of a system b) A series of pictures shown in a sequence to visualize the user experience and interaction c) A profile of a fictional potential user that helps you make user-centered decisions during development d) A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience e) A story-like textual description of a system's usage

c) A profile of a fictional potential user that helps you make user-centered decisions during development

For the next two questions, consider the following scenario, then answer the questions that follow. Peter Anteater is an ICS student who also works for the financial aid office at UCI. He is developing the system that issues monthly financial aid checks to students. While writing code one day, after staying up the night before studying, Peter forgets about the existence of leap years. As a result, he writes code that assumes that February always has only 28 days. When his code goes into production, nobody notices this bug until two years later, when it happened to be a leap year, and thousands of students did not receive their financial aid checks for that month. For this scenario, answer the next two questions. Which of the following is the best statement of the **fault** introduced in the scenario above? a) Peter Anteater is an ICS student b) Peter forgets about the existence of leap years c) His code assumes that February always has only 28 days d) When it happened to be a leap year, thousands of students did not receive their financial aid checks for that month e) Nobody notices this bug for two years

c) His code assumes that February always has only 28 days

Which of the following is *not* a true statement about the Waterfall model? a) Bad for projects with uncertain or complex requirements b) Does not support or anticipate change well c) Involves the users in every phases and activity of the process d) Bad for projects with ambiguity in requirements or technology e) Linear and sequential

c) Involves the users in every phase and activity of the process

For the next two questions, consider the following scenario, then answer the questions that follow. Peter Anteater is an ICS student who also works for the financial aid office at UCI. He is developing the system that issues monthly financial aid checks to students. While writing code one day, after staying up the night before studying, Peter forgets about the existence of leap years. As a result, he writes code that assumes that February always has only 28 days. When his code goes into production, nobody notices this bug until two years later, when it happened to be a leap year, and thousands of students did not receive their financial aid checks for that month. For this scenario, answer the next two questions. Which of the following is the best statement of the **error** made in the scenario above? a) Nobody notices this bug for two years b) His code assumes that February always has only 28 days c) Peter forgets about the existence of leap years d) When it happened to be a leap year, thousands of students did not receive their financial aid checks for that month e) Peter Anteater is an ICS student

c) Peter forgets about the existence of leap years

Which of the following is *not* one of the top ten risks captured by Barry Boehm (the creator of the Spiral Model)? a) Developing the wrong software functions b) Shortfalls in externally performed tasks c) Software requirements and user needs never change d) Personnel shortfalls e) Unrealistic schedules and budgets f) Shortfalls in externally furnished components

c) Software requirements and user needs never change

Verification is: a) Confirming that a system/subsystem serves its intended purpose b) A computation or "machine" that always knows the correct expected output c) Specification-based testing with no visibility or access to source code d) Confirming that a system/subsystem conforms to its specifications e) Structural testing, where the tester knows or has access to source code

d) Confirming that a system/subsystem conforms to its specifications

Choosing test cases such that each statement ("line of code") is visited, is called: a) Condition coverage b) Path coverage c) Branch coverage d) Node coverage e) Loop coverage

d) Node coverage

One can find several software activities on the 'spiraling arms' of the Spiral Model. Which of the following is *not* one of those activities: a) Software design b) Software specification c) Software implementation d) Software maintenance e) Software verification f) Risk analysis g) Rapid prototyping

d) Software maintenance

White-box testing is: a) Specification-based testing with no visibility or access to source code b) Confirming that a system/subsystem conforms to its specifications c) Confirming that a system/subsystem serves its intended purpose d) Structural testing, where the tester knows or has access to source code e) A computation or "machine" that always knows the correct expected output

d) Structural testing, where the tester knows or has access to source code

Testing software **while** knowing or having access to the source code is called: a) Progressive Testing b) Load Testing c) Aggressive Testing d) Whitebox Testing e) Blackbox Testing f) Regression Testing

d) Whitebox Testing

Which of the following models is suited for an individual programmer, but *not* for a large-scale software-engineering life-cycle? a) Incremental b) Waterfall c) Rapid prototyping d) Spiral e) Build-and-fix f) Rational Unified Process

e) Build-and-fix

The Waterfall Model usually shows several big activities (phases) in "big boxes". Which of the following is NOT a likely phase or activity in a typical Waterfall: a) Software coding/implementation b) Software design c) Requirements analysis d) Software testing e) Iteration(s) f) Software architecture

e) Iteration(s)

Which one of the following statements is *not true* about testing? a) One goal of testing is to find bugs. b) One goal of testing is to improve confidence that the system works correctly. c) Test cases should be chosen systematically, to cover a wide range of possible inputs. d) Test cases should be designed in such a way that they can easily be run more than once. e) One goal of testing is to prove that the system has no bugs.

e) One goal of testing is to prove that the system has no bugs.

Which one of the following terms means "checking that the software fulfills the customer's/user's intent"? a) Fault b) Integration testing c) Verification d) Unit testing e) Validation

e) Validation


Set pelajaran terkait

Anatomy and Physiology, chapter 9 (joints), hcc

View Set

Populations Exam 1 Review Questions

View Set

Salesforce Platform Developer II

View Set