tried my best to cover all essential areas of Software Engineering. It has 200+ .... Web Apps are a mixture of print publishing and software development, making.
Open Access Series
Dr. Qaim Mehdi Qassim University, SAUDI ARABIA
TEST YOUR SKILLS for Software Engineering There are several components that are important for career development skills. One important element especially for the fresh Computer Engineers is the construction of interest in basic skills as well as the knowledge of advance software development methodologies. In this question bank, I tried my best to cover all essential areas of Software Engineering. It has 200+ skill based quality questions as well as a list of recommended books as per my teaching experience of Software Engineering.
About the Author Qaim Mehdi received the B.Sc. Computer Science degree from the University of Lucknow. Then after that he joined software industry and worked for Times Information Technology Pvt. Ltd. After working around 3 years, he contined his study and completed his M.Sc. in Computer Science from Dayanand University and Ph.D. degree in Computer Applications from Integral University. Currently he is working in Computer Science department at Qassim University, Saudi Arabia. The author has around 10 years teaching experience of Software Engineering. As he has software development background, he also played the role of project guide for the final year engieering students. Since 2006, he is registered IBM project guide. As his research area is Image Processing, he is teaching Digital Image Processing and IT in Forensic Sciences like advance subjects to engineering students. This Open Access Series is an effort by author to provide some valuable self assesment material that could help to improve the knowledge of some important subjects like Software Engineering. It could also help the teaching community to use it as student assesment tool as well as it could help the students of Computer Engineering for preparing themselves for the technical interview of the placement activities.
Test Your Skills in Software Engineering
1 1.
Which of the following are recognized process flow types? A) B) C) D)
2.
Software processes can be constructed out of pre-existing software patterns to best meet the needs of a software project. A) B)
3.
A reasonable approach when requirements are well defined. A good approach when a working program is required quickly. The best approach to use for projects with large development teams. An old fashioned model that is rarely used any more.
The incremental model of software development is A) B) C) D)
6.
SEI SPICE ISO 9001 Both b and c
The waterfall model of software development is A) B) C) D)
5.
True False
Which of these are standards for assessing software processes? A) B) C) D)
4.
Concurrent process flow Iterative process flow Linear process flow Both a and c
A reasonable approach when requirements are well defined. A good approach when a working core product is required quickly. The best approach to use for projects with large development teams. A revolutionary model that is not used for commercial products.
Evolutionary software process models A) B) C) D)
Are iterative in nature Can easily accommodate product requirements changes Do not generally produce throwaway systems All of the above
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
2 7.
The prototyping model of software development is A) B) C) D)
8.
The spiral model of software development A) B) C) D)
9.
Only appropriate for computer hardware design. Not able to support the development of reusable components. Dependent on object technologies for support. Not cost effective by known quantifiable software metrics.
The formal methods model of software development makes use of mathematical methods to A) B) C) D)
12.
Another name for concurrent engineering. Defines events that trigger engineering activity state transitions. Only used for development of parallel or distributed systems. Both a and b
The component-based development model is A) B) C) D)
11.
Ends with the delivery of the software product Is more chaotic than the incremental model Includes project risks evaluation during each iteration All of the above
The concurrent development model is A) B) C) D)
10.
A reasonable approach when requirements are well defined. A useful approach when a customer can't define requirements clearly. The best approach to use for projects with large development teams. A risky model that rarely produces a meaningful product.
Define the specification for computer-based systems Develop defect free computer-based systems Verify the correctness of computer-based systems All of the above
Which of these is not one of the phase names defined by the Unified Process model for software development? A) B) C) D)
Inception phase Elaboration phase Construction phase Validation phase
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
3 13.
Which of these is not a characteristic of Personal Software Process? A) B) C) D)
14.
Which of these are objectives of Team Software Process? A) B) C) D)
15.
Why does computer hardware cost so much? Why does software take a long time to finish? Why does it cost so much to develop a piece of software? Why can't software errors be removed from products prior to delivery?
Software is a product and can be manufactured using the same technologies used for other engineering artifacts. A) B)
19.
True False
Which question no longer concerns the modern software engineer? A) B) C) D)
18.
True False
It is generally accepted that one cannot have weak software processes and create high quality end products. A) B)
17.
Accelerate software process improvement Allow better time management by highly trained professionals Build self-directed software teams Both b and c
Process technology tools allow software organizations to compress schedules by skipping unimportant activities. A) B)
16.
Emphasizes personal measurement of work product Practitioner requires careful supervision by the project manager Individual practitioner is responsible for estimating and scheduling Practitioner is empowered to control quality of software work products
True False
Software deteriorates rather than wears out because A) B) C) D)
Software suffers from exposure to hostile environments Defects are more likely to arise after software has been used often Multiple change requests introduce errors in component interactions Software spare parts become harder to order
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
4 20.
Web Apps are a mixture of print publishing and software development, making their development outside the realm of software engineering practice. A) B)
21.
Which of the items listed below is not one of the software engineering layers? A) B) C) D)
22.
True False
The essence of software engineering practice might be described as understand the problem, plan a solution, carry out the plan, and examine the result for accuracy. A) B)
26.
Communication, planning, modeling, construction, deployment Communication, risk management, measurement, production, reviewing Analysis, designing, programming, debugging, maintenance Analysis, planning, designing, programming, testing
Planning ahead for software reuse reduces the cost and increases the value of the systems into which they are incorporated. A) B)
25.
True False
Which of these are the 5 generic software engineering framework activities? A) B) C) D)
24.
Process Manufacturing Methods Tools
Software engineering umbrella activities are only applied during the initial phases of software development projects. A) B)
23.
True False
True False
In agile process models the only deliverable work product is the working program. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
5 27.
A most software development projects are initiated to try to meet some business need. A) B)
28.
In general software only succeeds if its behavior is consistent with the objectives of its designers. A) B)
29.
Requirements gathering must be conducted very carefully Software increments must be delivered in short time periods Software processes must adapt to changes incrementally Both b and c
In agile software processes the highest priorities is to satisfy the customer through early and continuous delivery of valuable software. A) B)
33.
Eliminate the use of project planning and testing Only essential work products are produced Process allows team to streamline tasks Uses incremental product delivery strategy
How do you create agile processes to manage unpredictability? A) B) C) D)
32.
True False
Which of the following is not necessary to apply agility to a software process? A) B) C) D)
31.
True False
Agility is nothing more than the ability of a project team to respond rapidly to change. A) B)
30.
True False
True False
Which of the following traits need to exist among the members of an agile software team? A) B) C) D)
Competence Decision-making ability Mutual trust and respect All of the above
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
6 34.
In agile development it is more important to build software that meets the customers' needs today than worry about features that might be needed in the future. A) B)
35.
What are the four framework activities found in the Extreme Programming (XP) process model? A) B) C) D)
36.
analysis, design, coding feasibility study, functional model iteration, implementation requirements gathering, adaptive cycle planning, iterative development speculation, collaboration, learning
Which is not one of the key questions that is answered by each team member at each daily Scrum meeting? A) B) C) D)
39.
True False
What are the three framework activities for the Adaptive Software Development (ASD) process model? A) B) C) D)
38.
analysis, design, coding, testing planning, analysis, design, coding planning, analysis, coding, testing planning, design, coding, testing
All agile process models conform to a greater or lesser degree to the principles stated in the "Manifesto for Agile Software Development". A) B)
37.
True False
What did you do since the last meeting? What obstacles are you encountering? What is the cause of the problems you are encountering? What do you plan to accomplish be the next team meeting?
The Dynamic Systems Development Method (DSDM) suggests a philosophy that is based on the Pareto principle (80% of the application can be delivered in 20% of the time required to build the complete application). A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
7 40.
In Feature Driven Development (FDD) a client-valued feature is a client-valued function that can be delivered in two weeks or less. A) B)
41.
Agile Modeling (AM) provides guidance to practitioner during which of these software tasks? A) B) C) D) E)
42.
All design should be as simple as possible, but no simpler A software system exists only to provide value to its users. Pareto principle (20% of any product requires 80% of the effort) Remember that you produce others will consume
Every communication activity should have a facilitator to make sure that the customer is not allowed to dominate the proceedings. A) B)
46.
True False
Which of the following is not one of core principles of software engineering practice? A) B) C) D)
45.
True False
Software engineering principles have about a three year half-life. A) B)
44.
Analysis Design Coding Testing both a and b
Agile Unified Process uses the classic UP phased activities (inception, elaboration, construction, transition) to help the team visualize the overall process flow. A) B)
43.
True False
True False
The agile view of iterative customer communication and collaboration is applicable to all software engineering practice. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
8 47.
One reason to involve everyone on the software team in the planning activity is to A) B) C) D)
48.
Project plans should not be changed once they are adopted by a team. A) B)
49.
True False
Which of the following is not one of the principles of good coding? A) B) C) D)
53.
True False
Teams using agile software practices do not generally create models. A) B)
52.
architecture, interface, component cost, risk, schedule information, function, behavior None of the above
The design model should be traceable to the requirements model? A) B)
51.
True False
Requirements models depict software in which three domains? A) B) C) D)
50.
adjust the granularity of the plan control feature creep get all team members to "sign up" to the plan understand the problem scope
Create unit tests before you begin coding Create a visual layout that aids understanding Refractor the code after you complete the first coding pass Write self-documenting code, not program documentation
A successful test I ones that discovers at least one as-yet undiscovered error. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
9 54.
Which of the following are valid reasons for collecting customer feedback concerning delivered software? A) B) C) D)
55.
Which of the following are areas of concern in the design model? A) B) C) D) E)
56.
exhibits strong coupling between its modules implements all requirements in the analysis model includes test cases for all components provides a complete picture of the software both b and d
Which of the following is not a characteristic common to all design methods? A) B) C) D)
59.
accuracy complexity efficiency quality
Which of these are characteristics of a good design? A) B) C) D) E)
58.
architecture data interfaces project scope a, b, and c
The importance of software design can be summarized in a single word A) B) C) D)
57.
Allows developers to make changes to the delivered increment Delivery schedule can be revised to reflect changes Developers can identify changes to incorporate into next increment All of the above
configuration management functional component representation quality assessment guidelines refinement heuristics
What types of abstraction are used in software design? A) B) C) D) E)
control data environmental procedural a, b, and d
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
10 60.
Which of the following can be used to represent the architectural design of a piece of software? A) B) C) D)
61.
Design patterns are not applicable to the design of object-oriented software? A) B)
62.
can be written more compactly. focuses on just one thing. is able to complete its function in a timely manner. is connected to other modules and the outside world.
Coupling is a qualitative indication of the degree to which a module A) B) C) D)
66.
True False
Cohesion is a qualitative indication of the degree to which a module A) B) C) D)
65.
True False
Information hiding makes program maintenance easier by hiding data and procedure from unaffected parts of the program. A) B)
64.
True False
Since modularity is an important design goal it is not possible to have too many modules in a proposed design. A) B)
63.
Dynamic models Functional models Structural models All of the above
can be written more compactly. focuses on just one thing. is able to complete its function in a timely manner. is connected to other modules and the outside world.
When using structured design methodologies the process of stepwise refinement is unnecessary. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
11 67.
Software designs are refactored to allow the creation of software that is easier to integrate, easier to test, and easier to maintain. A) B)
68.
Which of the following is not one of the five design class types A) B) C) D)
69.
70.
A) Architectural design elements B) Component-level design elements C) Data design elements D) Interface design elements Which design is equivalent to the floor plan of a house? Architectural design Component-level design Data design Interface design
Which design model is equivalent to the detailed drawings of the access points and external utilities for a house? A) B) C) D)
72.
Business domain classes Entity classes Process classes User interface classes
Which design model elements are used to depict a model of information represented from the user's view?
A) B) C) D) 71.
True False
Architectural design Component-level design Data design Interface design
Which design model is equivalent to a set of detailed drawings for each room in a house? A) B) C) D)
Architectural design Component-level design Data design Interface design
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
12 73.
The deployment design elements specify the build order for the software components. A) B)
74.
The data flow diagram A) B) C) D) E)
75.
True False
For purposes of behavior modeling an event occurs whenever A) B) C) D)
79.
True False
The data flow diagram must be augmented by min-spec that can serve as a guide the design of the software component that will implement the process. A) B)
78.
needed to model event driven systems. required for all systems. used in place of data flow diagrams. used to represent system behavior.
The control specification represents the system behavior using UML sequence and state diagrams. A) B)
77.
depicts relationships between data objects depicts functions that transform the data flow indicates how data are transformed by the system indicates system reactions to external events both b and c
Control flow diagrams are A) B) C) D)
76.
True False
a state and process exchange information. the system an actor exchange information. two actors exchange information. two objects exchange information.
For purposes of behavior modeling a state is any A) B) C) D)
consumer or producer of data. data object hierarchy. observable mode of behavior. well defined process.
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
13 80.
The state transition diagram A) B) C) D)
81.
The UML sequence diagram shows the order in which system events are processed. A) B)
82.
Configuration analysis Content analysis Functional analysis Market analysis
Content objects are extracted from use cases by examining the scenario description for direct or indirect content references. A) B)
86.
True False
Which is not one of the analysis activities that is used to create a complete analysis model? A) B) C) D)
85.
True False
It is not possible to justify the time required for WebApp requirements analysis. A) B)
84.
True False
Analysis patterns are discovered, they are not explicitly created. A) B)
83.
depicts relationships between data objects depicts functions that transform the data flow indicates how data are transformed by the system indicates system reactions to external events
True False
What are the elements of a WebApp interaction model?
A) B) diagrams C) D)
activity diagrams, sequence diagrams, state diagrams, interface prototype activity diagrams, collaboration diagrams, sequence diagrams, state use-cases, sequence diagrams, state diagrams, interface prototype use-cases, sequence diagrams, state diagrams, sequence diagrams
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
14 87.
UML activity diagrams can be used to represent the user observable functionality delivered by the WebApp as well as the operations contained in each analysis class. A) B)
88.
Configuration analysis focuses on the architecture of the user's web browsing environment. A) B)
89.
True False
In general the earlier a software defect is discovered and corrected the less costly to the overall project budget. A) B)
93.
True False
The purpose of software reviews is to uncover errors and defects in work products so they can be removed before moving on to the next phase of development. A) B)
92.
True False
Better liability of logical component and execution behavior can be analyze only with the help of Flow Charts. A) B)
91.
True False
For the getting information about the logical sequence of modules, Structure Chart is better option than DFD. A) B)
90.
True False
True False
Defect amplification models can be used to illustrate the costs associated with using software from its initial deployment to its retirement. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
15 94.
Review metrics can be used to assess the efficacy of each review activity. A) B)
95.
Defect density can be estimated for any software engineering work product. A) B)
96.
amount of preparation reviewer follow-up size of project budget structure of review a, b and d
An informal review may consist of which of the following? A) B) C) D) E)
99.
True False
The level of review formality is determined by which of the following? A) B) C) D) E)
98.
True False
Agile software developers are aware that software reviews always take time without saving any. A) B)
97.
True False
casual meeting desk check inspection pair programming both a and b
Which of the following are objectives for formal technical reviews? A) B) C) D)
allow senior staff members to correct errors assess programmer productivity determining who introduced an error into a program uncover errors in software work products
100. At the end of a formal technical review all attendees can decide to A) B) C) D) E)
accept the work product without modification modify the work product and continue the review reject the product due to stylistic discrepancies reject the product due to severe errors both a and d
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
16 101. A review summary report answers which three questions? A) B) C) D)
terminate project, replace producer, request a time extension what defects were found, what caused defects, who was responsible what was reviewed, who reviewed it, what were the findings none of the above
102. In any type of technical review, the focus of the review is on the product and not the producer. A) B)
True False
103. Sample driven reviews only make sense for very small software development projects. A) B)
True False
104. In software quality assurance work there is no difference between software verification and software validation. A) B)
True False
105. The best reason for using Independent software test teams is that A) B) C) D)
software developers do not need to do any testing strangers will test the software mercilessly testers do not get involved with the project until testing begins the conflicts of interest between developers and testers is reduced
106. What is the normal order of activities in which traditional software testing is organized? A) B) C) D) E)
integration testing system testing unit testing validation testing c, a, d, and b
107. By collecting software metrics and making use of existing software reliability models it is possible to develop meaningful guidelines for determining when software testing is done. A) B)
True False Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
17 108. Which of the following strategic issues needs to be addressed in a successful software testing process? A) B) C) D) E)
conduct formal technical reviews prior to testing specify requirements in a quantifiable manner use independent test teams wait till code is written prior to writing the test plan both a and b
109. Which of the following need to be assessed during unit testing? A) B) C) D) E)
algorithmic performance code stability error handling execution paths both c and d
110. Units and stubs are not needed for unit testing because the modules are tested independently of one another. A) B)
True False
111. Top-down integration testing has as its major advantage(s) that A) B) C) D) E)
low level modules never need testing major decision points are tested early no drivers need to be written no stubs need to be written both b and c
112. Bottom-up integration testing has as its major advantage(s) that A) B) C) D)
major decision points are tested early no drivers need to be written no stubs need to be written regression testing is not required
113. Regression testing should be a normal part of integration testing because as a new module is added to the system new A) B) C) D) E)
control logic is invoked data flow paths are established drivers require testing all of the above both a and b Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
18 114. Smoke testing might best be described as A) B) C) D)
bulletproofing shrink-wrapped software rolling integration testing testing that hides implementation errors unit testing for small programs
115. When testing object-oriented software it is important to test each class operation separately as part of the unit testing process. A) B)
True False
116. The OO testing integration strategy involves testing A) B) C) D)
groups of classes that collaborate or communicate in some way single operations as they are added to the evolving class implementation operator programs derived from use-case scenarios none of the above
117. Since many WebApps evolve continuously, the testing process must be ongoing as well. A) B)
True False
118. The focus of validation testing is to uncover places that s user will be able to observe failure of the software to conform to its requirements. A) B)
True False
119. Software validation is achieved through a series of tests performed by the user once the software is deployed in his or her work environment. A) B)
True False
120. Configuration reviews are not needed if regression testing has been rigorously applied during software integration. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
19 121. Acceptance tests are normally conducted by the A) B) C) D)
developer end users test team systems engineers
122. Recovery testing is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption. A) B)
True False
123. Security testing attempts to verify that protection mechanisms built into a system protect it from improper penetration. A) B)
True False
124. Stress testing examines the pressures placed on the user during system use in extreme environments. A) B)
True False
125. Performance testing is only important for real-time or embedded systems. A) B)
True False
126. Debugging is not testing, but always occurs as a consequence of testing. A) B)
True False
127. Which of the following is an approach to debugging? A) B) C) D) E)
backtracking brute force cause elimination code restructuring a, b, and c
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
20 128. With thorough testing it is possible to remove all defects from a program prior to delivery to the customer. A) B)
True False
129. Which of the following are characteristics of testable software? A) B) C) D)
observability simplicity stability all of the above
130. The testing technique that requires devising test cases to demonstrate that each program function is operational is called A) B) C) D)
black-box testing glass-box testing grey-box testing white-box testing
131. The testing technique that requires devising test cases to exercise the internal logic of a software module is called A) B) C) D)
behavioral testing black-box testing grey-box testing white-box testing
132. What types of errors are missed by black-box testing and can be uncovered by white-box testing? A) B) C) D) E)
behavioral errors logic errors performance errors typographical errors both b and d
133. Program flow graphs are identical to program flowcharts. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
21 134. The Cyclomatic complexity metric provides the designer with information regarding the number of A) B) C) D)
cycles in the program errors in the program independent logic paths in the program statements in the program
135. The Cyclomatic complexity of a program can be computed directly from a PDL representation of an algorithm without drawing a program flow graph. A) B)
True False
136. Condition testing is a control structure testing technique where the criteria used to design test cases is that they A) B) C) D)
rely on basis path testing exercise the logical conditions in a program module select test paths based on the locations and uses of variables focus on testing the validity of loop constructs
137. Data flow testing is a control structure testing technique where the criteria used to design test cases is that they A) B) C) D)
rely on basis path testing exercise the logical conditions in a program module select test paths based on the locations and uses of variables focus on testing the validity of loop constructs
138. Loop testing is a control structure testing technique where the criteria used to design test cases is that they A) B) C) D)
rely basis path testing exercise the logical conditions in a program module select test paths based on the locations and uses of variables focus on testing the validity of loop constructs
139. Black-box testing attempts to find errors in which of the following categories A) B) C) D) E)
incorrect or missing functions interface errors performance errors none of the above a, b, and c
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
22 140. Graph-based testing methods can only be used for object-oriented systems A) B)
True False
141. Equivalence testing divides the input domain into classes of data from which test cases can be derived to reduce the total number of test cases that must be developed. A) B)
True False
142. Boundary value analysis can only be used to do white-box testing. A) B)
True False
143. Orthogonal array testing enables the test designer to maximize the coverage of the test cases devised for relatively small input domains. A) B)
True False
144. Test derived from behavioral class models should be based on the A) B) C) D)
data flow diagram object-relation diagram state transition diagram use-case diagram
145. Client/server architectures cannot be properly tested because network load is highly variable. A) B)
True False
146. Real-time applications add a new and potentially difficult element to the testing mix A) B) C) D)
performance reliability security time
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
23 147. It is not possible to test object-oriented software without including error discovery techniques applied to the system OOA and OOD models. A) B)
True False
148. The correctness of the OOA and OOD model is accomplished using formal technical reviews by the software quality assurance team. A) B)
True False
149. The consistency of object-oriented models may be judged by reviewing the CRC card model. A) B)
True False
150. Test case design for OO software is driven by the algorithmic detail of the individual operations. A) B)
True False
151. Integration testing of object-oriented software can be accomplished by which of the following testing strategies? A) B) C) D) E)
Cluster testing Glass-box testing Thread-based testing Use-based testing a, c, and d
152. Validation of object-oriented software focuses on user visible actions and outputs from the system. A) B)
True False
153. Encapsulation of attributes and operations inside objects makes it easy to obtain object state information during testing. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
24 154. Use-cases can provide useful input into the design of black-box and state-based tests of OO software. A) B)
True False
155. Fault-based testing is best reserved for A) B) C) D)
conventional software testing operations and classes that are critical or suspect use-case validation white-box testing of operator algorithms
156. Testing OO class operations is made more difficult by A) B) C) D)
encapsulation inheritance polymorphism both b and c
157. Scenario-based testing A) B) C) D)
concentrates on actor and software interaction misses errors in specifications misses errors in subsystem interactions both a and b
158. Deep structure testing is not design to A) B) C) D)
object behaviors communication mechanisms exercise object dependencies exercise structure observable by the user
159. Random order tests are conducted to exercise different class instance life histories. A) B)
True False
160. Which of these techniques is not useful for partition testing at the class level? A) B) C) D)
attribute-based partitioning category-based partitioning equivalence class partitioning state-based partitioning
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
25 161. Which of the following interface design principles does not allow the user to remain in control of the interaction with a computer? A) B) C) D)
allow interaction to interruptible allow interaction to be undoable hide technical internals from casual users only provide one rigidly defined method for accomplishing a task
162. Which of the following interface design principles reduce the user's memory load? A) B) C) D) E)
define intuitive shortcuts disclose information in a progressive fashion establish meaningful defaults provide an on-line tutorial a, b, and c
163. The reason for reducing the user's memory load is make his or her interaction with the computer quicker to complete. A) B)
True False
164. Interface consistency implies that A) B) C) D) E)
each application should have its own distinctive look and feel input mechanisms remain the same throughout the application navigational methods are context sensitive visual information is organized according to a design standard both b and d
165. If past interactive models have created certain user expectations it is not generally good to make changes to the model. A) B)
True False
166. Which model depicts the profile of the end users of a computer system? A) B) C) D)
design model implementation model user model user's model
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
26 167. Which model depicts the image of a system that an end user creates in his or her head? A) B) C) D)
design model user model system model system perception
168. Which model depicts the look and feel of the user interface along with all supporting information? A) B) C) D)
implementation model user model user's model system perception
169. Which of these framework activities is not normally associated with the user interface design processes? A) B) C) D)
cost estimation interface construction interface validation user and task analysis
170. Which approach(es) to user task analysis can be useful in user interface design? A) B) C) D) E)
have users indicate their preferences on questionnaires rely on the judgment of experienced programmers study existing computer-based solutions observe users performing tasks manually both c and d
171. Object-oriented analysis techniques can be used to identify and refine user task objects and actions without any need to refer to the user voice. A) B)
True False
172. The computer's display capabilities are the primary determinant of the order in which user interface design activities are completed. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
27 173. It is sometimes possible that the interface designer is constrained by environmental factors that mitigate against ease of use for many users. A) B)
True False
174. One means of defining user interface objects and actions is to conduct a grammatical parse of the user scenario. A) B)
True False
175. Interface design patterns typically include a complete component-level design (design classes, attributes, operations, and interfaces). A) B)
True False
176. Several common design issues surface for almost every user interface including A) B) C) D) E)
adaptive user profiles error handling resolution of graphics displays system response time both b and d
177. It is more important to capture the user's attention with flashy features than ergonomically sound screen layouts when building a WebApp. A) B)
True False
178. Several usability measures can be collected while observing users interacting with a computer system including A) B) C) D) E)
down time for the application number of user errors software reliability time spent looking at help materials both b and d
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
28 179. Effective software project management focuses on A) B) C) D)
people, performance, payoff, product people, product, performance, process people, product, process, project people, process, payoff, product
180. Organizations that achieve high levels of maturity in people management have a higher likelihood of implementing effective software engineering processes. A) B)
True False
181. The first step in project planning is to A) B) C) D)
determine the budget. select a team organizational model. determine the project constraints. establish the objectives and scope.
182. Process framework activities are populated with A) B) C) D)
milestones work products QA points all of the above
183. Project management is less important for modern software development since most projects are successful and completed on time. A) B)
True False
184. Which of the following is not considered a stakeholder in the software process? A) B) C) D)
customers end-users project managers sales people
185. The best person to hire as a project team leader is the most competent software engineering practitioner available. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
29 186. The best project team organizational model to use when tackling extremely complex problems is the A) B) C) D)
closed paradigm open paradigm random paradigm synchronous paradigm
187. Which factors should be considered in choosing the organizational structure for a software team? A) B) C) D) E)
degree of communication desired predicted size of the resulting program rigidity of the delivery date size of the project budget a, b, and c
188. One of the best ways to avoid frustration during the software development process is to A) B) C) D)
give team members more control over process and technical decisions. give team members less control over process and technical decisions. hide bad news from the project team members until things improve. reward programmers based on their productivity.
189. Small agile teams have no place in modern software development. A) B)
True False
190. Which of these software characteristics is not a factor contributing to project coordination difficulties? A) B) C) D)
interoperability performance scale uncertainty
191. Which of these software characteristics are used to determine the scope of a software project? A) B) C) D)
context, lines of code, function context, function, communication requirements information objectives, function, performance communications requirements, performance, information objectives
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
30 192. The major areas of problem decomposition during the project scoping activity are the A) B) C) D) E)
customer workflow functionality to be delivered process used to deliver functionality software process model both b and c
193. Product and process decomposition occurs simultaneously as the project plan evolves. A) B)
True False
194. When can selected common process framework activities be omitted during process decomposition? A) B) C) D)
when the project is extremely small in size any time the software is mission critical rapid prototyping does not require their use never the activities are invariant
195. How does a software project manager need to act to minimize the risk of software failure? A) B) C) D) E)
double the project team size request a large budget start on the right foot track progress both c and d
196. The W5HH principle contains which of the following questions? A) B) C) D) E)
Why is the system being developed? What will be done by whom? Where are they organizationally located? How much of each resource is required? a, c, and d
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
31 197. Which of these are critical practices for performance-based project management? A) B) C) D) E)
assessing product usability defect tracking against quality targets empirical cost estimation formal risk management b, c, and d
198. Which of these are valid reasons for measuring software processes, products, and resources? A) B) C) D) E)
to characterize them to evaluate them to price them to improve them a, b, and d
199. Process indicators enable a software project manager to A) B) C) D)
assess the status of an on-going project track potential risks adjust work flow or tasks none of the above
200. Public metrics are used A) B) C) D) E)
to evaluate the performance of software development teams. to appraise the performance of individual team members. to make strategic changes to the software process. to make tactical changes during a software project both c and d
201. Which of the following items are not measured by software project metrics? A) B) C) D)
inputs markets outputs results
202. Software quality and functionality must be measured indirectly. A) B)
True False
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
32 203. Which of following are advantages of using LOC (lines of code) as a size-oriented metric? A) B) C) D)
LOC is easily computed. LOC is a language dependent measure. LOC is a language independent measure. LOC can be computed before a design is completed.
204. Which of the following are advantages of using function points (FP) as a measure of the functionality delivered by a software application? A) B) C) D) E)
FP is easily computed. FP is a language dependent measure. FP is a language independent measure. FP can be computed before a design is completed. both c and d
205. There is no need to reconcile LOC and FP measures since each in meaningful in its own right as a project measure. A) B)
True False
206. Object-Oriented project measures may be combined with historical project data to provide metrics that aid in project estimation. A) B)
True False
207. Use-Case oriented metrics are computed directly from UML diagrams they are often used as normalization measures. A) B)
True False
208. Which of the following is not a measure that can be collected from a Web application project? A) B) C) D)
Customization index Number of dynamic objects Number of internal page links Number of static web pages
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
33 209. Which of the following software quality factors is most likely to be affected by radical changes to computing architectures? A) B) C) D)
operation transition revision none of the above
210. Which of the following provide useful measures of software quality? A) B) C) D)
correctness, performance, integrity, usability reliability, maintainability, integrity, sales correctness, maintainability, size, satisfaction correctness, maintainability, integrity, usability
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
34 Solution of Question Bank 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
D A D A C D B C D C D D B D B A A B C B B B A A A B A B B A D A D A D
36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70.
A D C A B E A B C B A C B C A B D A D E D E A E D B B A B D B A B C A
71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105.
D B B E A A A B C D B A B D A C A B A A A A B A A B E E D E C A B B D
106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140.
E A E E B E C E B B A A A F F B B A B B A E B D A D E B C A B C D E B
141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175.
A B A C B D A B A A E A B A B D A D A C D E B E A C D A A E B B A A A
176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210.
E B E C A D D B D B B E A A B C E A D E E E E D E B B A E B A B A B D
Copyright © Dr. Qaim Mehdi Rizvi, 2013
Test Your Skills in Software Engineering
35 Reference Books Software Engineering: A Practitioners Approach, 7e Roger S. Pressman, McGraw Hill This book has been designed to consolidate and restructure the content introduced over the past two editions of the book. Content will focus on widely used software engineering methods and will deemphasize or completely eliminate discussion of secondary methods, tools and techniques.
Fundamentals of Software Engineering, 3e Rajib Mall, PHI Publication It is designed for getting a different view of software engineering. It covers all basic properties of software engineering as well as it provides valuable material about different modelling approaches. This book is also covering all major points of software project management that is off course a bonus part.
Software Engineering & Testing, 1e B. B. Agarwal, Jones and Bartlett Publishers LLC Designed for an introductory software engineering course or as a reference for programmers, this up to date text uses both theory and applications to design reliable, error-free software. Starting with various types of software, the book moves through life-cycle models, software specifications and testing techniques.
Software Engineering: A Lifecycle Approach, 1e Pratap K. J. Mohapatra, New Age International Publishers This book has been designed for beginners to intermediate level. This book clearly defines the basic behaviour of software and different software life cycle models. It also focuses on different testing approaches with clear illustrations.
Test Your Skills in Software Engineering Copyright © Dr. Qaim Mehdi Rizvi, 2013.
Copyright © Dr. Qaim Mehdi Rizvi, 2013