Software Engineering MCQs

Software Engineering MCQs

Answer these 100+ Software Engineering MCQs and assess your grip on the subject of Software Engineering. Scroll below and get started!

1: Structural testing is another name for ______________ testing.

A.   black box

B.   white box

C.   exhaustive

D.   None of the above 

2: The ___________ languages are used as executable specification languages.

A.   second generation

B.   third generation

C.   fourth generation 

3: Which of the following integration testing techniques is practical for small-sized software systems only?

A.   Bottom-Up Integration Testing

B.   Top-Down Integration Testing

C.   Big-Bang Integration Testing

D.   Mixed/Sandwich Integration Testing 

4: Which of the following is not a feature of a good software requirement specification (SRS) document?

A.   It should be concise.

B.   It should specify the implementation and issues in it.

C.   It should show conceptual integrity

D.   It should be structured 

5: Consider the following relations.
(i) Pen is a kind of writing equipment.
(ii) Purchase order has a few items.
First Relation (i) is modeled using ___________ and second relation (ii) is modeled using______ in class diagrams.

A.   inheritance, aggregation

B.   association, inheritance

C.   aggregation, composition

D.   composition, association

6: Software engineering principles are primarily based upon which of the following methods?

A.   Error correction

B.   Error prevention

C.   Both a and b

D.   None of the above 

7: Which three of following characteristics should always be there in a software design?

A.   Understandability

B.   Rigidity

C.   Efficiency

D.   Maintainability

E.   Complexity 

8: Which of the following factors is(are) responsible for the present software crisis? Select all that apply.

A.   Shortage of programming languages

B.   Shortage of rapid progress in software engineering

C.   Increased problem size

D.   All of the above

9: The SRS document is prepared during the _______________ phase in the waterfall model.

A.   feasibility study

B.   requirement analysis and specification

C.   design

D.   testing

10: Which two of the following are true about software development life cycle model?

A.   It helps in systematic and disciplined development of software products.

B.   It helps in defining an entry and exit criteria only for the first and last phase of the software development.

C.   It helps in monitoring progress of the project.

D.   A software life cycle model is a brief introduction of the software life cycle.

11: What do the edges in a decision tree represent?

A.   Conditions

B.   Requirements

C.   Actions

D.   Result 

12: Suppose you need to test user interface, such as display screens, of your software product to ensure that they are easy to use. Which of the following types of testing should be carried out in this situation?

A.   Regression testing

B.   Volume testing

C.   Usability testing

D.   Maintenance testing

E.   Compatibilty testing 

13: In order to reduce problem complexity, software engineering principles use ____________ and ___________ techniques.

A.   abstraction, decomposition

B.   abstraction and jump

C.   decomposition and exploratory programming

D.   exploratory programming and abstraction

E.   exploratory programming and jump 

14: Consider the following scenario:
A grocery store needs to develop a software in order to encourage its regular customers. A customer needs to register by supplying his/her residential address and telephone number at the store. A unique customer number (CN) will be provided to the customer after registration by the software. During any purchase customer can provide his/her CN number to the store staff at the counter, who will credit the value of his/her purchase against the CN. After every year, surprise gifts will be given to five customers who made the highest purchase over the year. At the end of the year, entries against each CN will be reset.
Which of the following is the most suitable context diagram for the above scenario?

A.   i

B.   ii

C.   iii

D.   None of the above

15: In the ________________ testing technique, the test cases are designed without the knowledge of the internal structure of the software, i.e., using only the functional specifications of the software.

A.   ad-hoc

B.   white-box

C.   black-box

D.   exhaustive 

16: Which of the following are the correct sets of fundamental activities in the subject area of software engineering?

A.   Software configuration management

B.   Validation

C.   Design and implementation

D.   Test case design

E.   Software specifications

F.   Evolution

G.   Documentation 

17: A compiler can be considered as _______________ program analysis tool.

A.   static

B.   dynamic

C.   both static and dynamic 

18: Which two of the following aspects are considered while using the data flow oriented design technique of software development?

A.   Functions in a system

B.   Data items that flows between the processing stations

C.   Design of control structure

D.   Sequence of execution of instructions

E.   None of the above 

19: The process to check that the completely developed system conforms to its requirement specifications is called __________, and the process to check that the output of one phase conforms to the previous phase during software development is known as_____________.

A.   verification, validation

B.   validation, verification

C.   validation, validation

D.   verification, verification 

20: Suppose you are testing a software system that needs to interact with a large database to retrieve information.
Which of the following types of testing is required to check the speed and accuracy of the data retrieval process?

A.   Compatibility testing

B.   Volume testing

C.   Regression testing

D.   Stress testing

21: In a classical waterfall model, the integration of different modules of a software product is done after ___________.

A.   coding

B.   system testing

C.   designing

D.   unit testing

22: In class diagrams, the whole-part relationship among classes is represented using ____________.

A.   inheritance

B.   association

C.   aggregation

D.   composition 

23: The beta system testing to validate a fully developed system - i.e., ensuring that the system is fulfilling all the requirements - is carried out by __________.

A.   a test team within the developing organization

B.   a test team outside the developing organization

C.   actual customers or a selected group of friendly customers.

D.   a selected group of developers 

24: In which of the following methods of debugging, a program is loaded with print statements for printing intermediate values in hope that some of the printed values will help in identifying the statement(s) containing error(s)?

A.   Program Slicing

B.   Brute Force

C.   Backtracking

D.   Cause Elimination 

25: If the coupling among modules is low in software design then the product is:
Select all that apply

A.   difficult to underStand

B.   easy to implement

C.   less expensive to develop

D.   all of the above 

26: Which of the following activities is/ are common amongst all the software development processes?

A.   Software specification

B.   Software designing

C.   Software validation

D.   Software evolution

E.   All of the above 

27: In the test-driven development approach, ____________.

A.   testing is performed in the end, after the entire project is developed

B.   initially a prototype is developed and tested, and then a second testing is performed after the completion of a project

C.   coding is performed incrementally. A new increment is started only after the successful testing of the previous increment

D.   requirements are tested and documented 

28: A good software design should have __________ coupling and _________ cohesion.

A.   high, high

B.   high, low

C.   low, high

D.   low, low 

29: Which three of the following options are covered in the subject of software engineering?

A.   Development tools

B.   Technical processes of software development

C.   Development of methods and theories

D.   Hardware maintenance

E.   Networking 

30: While correcting previous error(s) in a software product, new error(s) may be introduced. Therefore, ___________ testing should be carried out after every round of error fixing.

A.   recovery

B.   compatibility

C.   volume

D.   regression 

31: Suppose you are working on a large-scale software engineering project. During the development phase of the project, the maximum effort will be consumed by which of the following phases of the software life cycle model?

A.   implementation phase

B.   testing phase

C.   feasibility study phase

D.   coding phase

32: Which of the following approaches is/are more suitable for requirements specification?

A.   Model-Oriented

B.   Property-Oriented

C.   Both a and b 

33: In case of a ________, the software does not behave in the way expected from it.

A.   software failure

B.   software fault 

34: Which two of the following programming practices should be followed while coding?

A.   Single-entry and single-exit constructs should be used as much as possible.

B.   Information hiding should not be done at all.

C.   The use of user-defined data types should be avoided as much as possible.

D.   The level of nesting should not be too deep. 

35: Which two of the following statements are correct regarding Unified Modeling Language (UML) diagrams?

A.   An actor in a use case diagram can participate in one use case only.

B.   In a use case diagram, one use case is independent of the other use case.

C.   All the views should be constructed for a given problem using all the diagrams that are provided by the UML.

D.   The static structure of a system is described by class diagram. 

36: Suppose you are working on a highly complex project, which involves several kinds of risks. Which software life cycle model you should use in such situation so that the best product can be obtained?

A.   V-Shaped model

B.   Prototype Model

C.   Spiral Model

D.   Waterfall Model 

37: Which two of the following are true about DFDs (data flow diagrams) used in Software Engineering?

A.   DFDs represent data flow in the system as well as function performed by the system.

B.   Control aspects are very precisely defined by DFDs.

C.   DFDs are simple to understand and use.

D.   The order of operation of processes is captured by a DFD 

38: During integration testing, __________

A.   different modules are coded then combined together in one step and then tested as a whole unit.

B.   different components are integrated one by one and tested at each level of integration.

C.   different components are integrated one by one but tested only as a whole system.

D.   system is divided into modules and each module is tested in isolation.

39: In fiction writing, "foreshadowing" is a term for __________________.

A.   the shadows that lurk in the back of a character's mind

B.   the clues in the narrative that give an indication of or preempt the future plot or story

C.   the tying up of all loose ends at the end of the story

D.   the rebels in a gothic horror story

E.   None of the above

40: Why are short stories sometimes more challenging than novels for writers to write?

A.   Readers expect more from short stories.

B.   The characters and plot must be introduced and developed quickly rather than over a period of time.

C.   Short stories have more characters.

D.   All of the above

E.   None of the above 

41: Which of the following statements best illustrates the primary purpose of writing dialogue?

A.   Dialogue shares information by narrating the story.

B.   Dialogue is less important than other aspects of story-telling such as setting, theme, and characterization.

C.   Dialogue propels the plot forward through a character's actions rather than through his words.

D.   Dialogue reflects the speaking voice of the character.

42: In fiction writing, a "caricature" is ______________ .

A.   a character from the past

B.   a character who is larger than life

C.   a character whose behavior or mannerisms are exaggerated for comic relief, as in a visual cartoon

D.   a drawing of the main character 

43: Software is a product and can be manufactured using the same technologies used for other engineering artifacts.

A.   True

B.   False

44: WebApps are a mixture of print publishing and software development, making their development outside the realm of software engineering practice.

A.   True

B.   False

45: There are no real differences between creating WebApps and Mobile-Apps.

A.   True

B.   False

46: In its simplest form an external computing device may access cloud data services using a web browser.

A.   True

B.   False

47: Product line software development depends the reuse of existing software components to provide software engineering leverage.

A.   True

B.   False

48: Which question no longer concerns the modern software engineer?

A.   Why does computer hardware cost so much?

B.   Why does computer hardware cost so much?

C.   Why does it cost so much to develop a piece of software?

D.   Why can’t software errors be removed from products prior to delivery?

49: Software deteriorates rather than wears out because

A.   Software suffers from exposure to hostile environments.

B.   Defects are more likely to arise after software has been used often.

C.   Multiple change requests introduce errors in component interactions.

D.   Software spare parts become harder to order.

50: Software engineering umbrella activities are only applied during the initial phases of software development projects.

A.   True

B.   False

51: Planning ahead for software reuse reduces the cost and increases the value of the systems into which they are incorporated.

A.   True

B.   False

52: 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.   True

B.   False

53: In agile process models the only deliverable work product is the working program.

A.   True

B.   False

54: A most software development projects are initiated to try to meet some business need.

A.   True

B.   False

55: A most software development projects are initiated to try to meet some business need.

A.   True

B.   False

56: In general software only succeeds if its behavior is consistent with the objectives of its designers.

A.   True

B.   False

57: Which of the items listed below is not one of the software engineering layers?

A.   ProcessProcess

B.   Manufacturing

C.   Methods

D.   Tools

58: Which of these are the 5 generic software engineering framework activities?

A.   communication, planning, modeling, construction, deployment.

B.   communication, risk management, measurement, production, reviewing.

C.   analysis, designing, programming, debugging, maintenance.

D.   analysis, planning, designing, programming, testing.

59: The communication activity is best handled for small projects using six distinct actions (inception, elicitation, elaboration, negotiation, specification, validation).

A.   True

B.   False

60: A good software development team always uses the same task set for every project to insure high quality work products.

A.   True

B.   False

61: Software processes can be constructed out of pre-existing software patterns to best meet the needs of a software project.

A.   True

B.   False

62: Which of the following are recognized process flow types?

A.   . Concurrent process flow.

B.   Iterative process flow.

C.   Linear process flow

D.   Spiral process flow.

E.   E. both b and c

63: Which of the following are recognized process flow types?

A.   Concurrent process flow.

B.   Iterative process flow.

C.   Linear process flow.

D.   Spiral process flow.

E.   both b and c

64: Which of these are standards for assessing software processes?

A.   SEI

B.   SPICE

C.   ISO 9000.

D.   ISO 9001

E.   both b and d

65: Process technology tools allow software organizations to compress schedules by skipping unimportant activities.

A.   True

B.   False

66: t is generally accepted that one cannot have weak software processes and create high quality end products.

A.   True

B.   False

67: The waterfall model of software development is

A.   A reasonable approach when requirements are well defined.

B.   A good approach when a working program is required quickly.

C.   The best approach to use for projects with large development teams

D.   An old fashioned model that is rarely used any more.

68: The incremental model of software development is

A.   A reasonable approach when requirements are well defined.

B.   A good approach when a working core product is required quickly.

C.   The best approach to use for projects with large development teams.

D.   A revolutionary model that is not used for commercial products.

69: Evolutionary software process models

A.   Are iterative in nature.

B.   Can easily accommodate product requirements changes.

C.   Do not generally produce throwaway systems.

D.   . All of the above.

70: The prototyping model of software development is

A.   A reasonable approach when requirements are well defined.

B.   A useful approach when a customer cannot define requirements clearly.

C.   The best approach to use for projects with large development teams.

D.   A risky model that rarely produces a meaningful product.

71: The spiral model of software development

A.   Ends with the delivery of the software product.

B.   Is more chaotic than the incremental model

C.   Includes project risks evaluation during each iteration.

D.   All of the above.

72: The concurrent development model is

A.   Another name for concurrent engineering.

B.   Defines events that trigger engineering activity state transitions.

C.   Only used for development of parallel or distributed systems.

D.   Used whenever a large number of change requests are anticipated.

73: The concurrent development model is

A.   Another name for concurrent engineering.

B.   Defines events that trigger engineering activity state transitions.

C.   Only used for development of parallel or distributed systems.

D.   Used whenever a large number of change requests are anticipated.

E.   Both a and b

74: The component-based development model is

A.   Only appropriate for computer hardware design.

B.   Not able to support the development of reusable components.

C.   Dependent on object technologies for support.

D.   Not cost effective by known quantifiable software metrics.

75: The formal methods model of software development makes use of mathematical methods to

A.   Define the specification for computer-based systems.

B.   Develop defect free computer-based systems.

C.   Verify the correctness of computer-based systems

D.   All of the above.

76: Which of these is not one of the phase names defined by the Unified Process model for software development?

A.   Inception phase.

B.   Elaboration phase.

C.   Construction phase

D.   Validation phase.

77: Which of these is not a characteristic of Personal Software Process?

A.   Emphasizes personal measurement of work product.

B.   Practitioner requires careful supervision by the project manager.

C.   Individual practitioner is responsible for estimating and scheduling.

D.   . Practitioner is empowered to control quality of software work products.

78: Which of these are objectives of Team Software Process?

A.   Accelerate software process improvement.

B.   Allow better time management by highly trained professionals.

C.   Build self-directed software teams. D. Show managers how to reduce cost

D.   Both b and c

79: Agility is nothing more than the ability of a project team to respond rapidly to change.

A.   True

B.   False

80: Agility is nothing more than the ability of a project team to respond rapidly to change.

A.   True

B.   False

81: In agile software processes the highest priorities is to satisfy the customer through early and continuous delivery of valuable software

A.   True

B.   False

82: 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.   True

B.   False

83: All agile process models conform to a greater or lesser degree to the principles stated in the “Manifesto for Agile Software Development”.

A.   True

B.   False

84: 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.   True

B.   False

85: Agile Unified Process uses the classic UP phased activities (inception, elaboration, construction, transition) to help the team visualize the overall process flow.

A.   True

B.   False

86: Which of the following is not necessary to apply agility to a software process?

A.   Eliminate the use of project planning and testing.

B.   Only essential work products are produced.

C.   Process allows team to streamline tasks.

D.   Uses incremental product delivery strategy.

87: How do you create agile processes to manage unpredictability?

A.   Requirements gathering must be conducted very carefully.

B.   Risk analysis must be conducted before planning takes place.

C.   Software increments must be delivered in short time periods.

D.   Software processes must adapt to changes incrementally.

E.   Both c and d

88: What are the four framework activities found in the Extreme Programming (XP) process model?

A.   analysis, design, coding, testing.

B.   planning, analysis, design, coding.

C.   planning, analysis, coding, testing.

D.   planning, design, coding, testing.

89: Which is not one of the key questions that is answered by each team member at each daily Scrum meeting?

A.   What did you do since the last meeting?

B.   What obstacles are you encountering?

C.   What is the cause of the problem you are encountering?

D.   What do you plan to accomplish be the next team meeting?

90: Agile Modeling (AM) provides guidance to practitioner during which of these software tasks?

A.   Analysis

B.   Design

C.   Coding

D.   Testing

E.   Both a and b

91: Human aspects of software engineering are not relevant in today’s agile process models.

A.   True

B.   False

92: Group communication and collaboration are as important as the technical skills of an individual team member to the success of a team

A.   True

B.   False

93: Teams with diversity in the individual team member skill sets tend to be more effective than teams without this diversity.

A.   True

B.   False

94: Software engineering team structure is independent of problem complexity and size of the expected software products.

A.   True

B.   False

95: Agile teams are allowed to self-organize and make their own technical decisions.

A.   True

B.   False

96: In XP a metaphor is used as a device to facilitate communications among customers, team members, and managers?

A.   True

B.   False

97: Using an established social media platform negates the need to be concerned about privacy or security.

A.   True

B.   False

98: Use of cloud services can speed up information sharing among software team members?

A.   True

B.   False

99: In collaborative development environments, metrics are used to reward and punish team members.

A.   True

B.   False

100: Which of the following is not an important trait of an effective software engineer?

A.   Attentive to detail

B.   Brutally honest.

C.   Follows process rule dogmatically.

D.   Resilient under pressure.