Question 1
Which of the following teams in a software organization is primarily responsible for creating prototypes for the software products after detail communication with the clients?
Sales team
Designers
Engineering managers
Data scientists
The IIT Madras BS Software Engineering (Software Engineering) End Term paper sat on 3 Sept 2023, in the May 2023 term, set QPE1-S2: 25 questions for 50 marks in 180 minutes. Every question is below with its answer. Take it as a timed mock test to be marked, or read it through first.
Which of the following teams in a software organization is primarily responsible for creating prototypes for the software products after detail communication with the clients?
Sales team
Designers
Engineering managers
Data scientists
Correct answer
Designers
Which of the deployment environments exactly resembles the production environment and is used for testing the web application for its performance before it goes live?
Development
Testing
Staging
Production
Correct answer
Staging
Which of the following debugging strategies involves changing inputs and observing differences in output to identify issues in the code?
Input manipulation
Backwards debugging
Forwards debugging
Blackbox debugging
Correct answer
Input manipulation
Which of the following hosting options has no requirement to purchase the entire server hardware and therefore involves no maintenance overhead; however, it does not provide the software layer for hosting the web app?
Bare Metal Servers
Infrastructure-as-a-service
Platform-as-a-service
None of these
Correct answer
Infrastructure-as-a-service
Which type of software testing is carried out before the initial system testing to check whether the basic functionalities are working with a few basic test cases?
Alpha testing
Beta testing
Smoke testing
Stress testing
Correct answer
Smoke testing
What is the main advantage of using paper prototyping?
It provides an actual functioning version of the software.
It allows for comprehensive testing of complex algorithms.
It facilitates early and inexpensive validation of user interface designs.
It automates the process of user feedback collection.
Correct answer
It facilitates early and inexpensive validation of user interface designs.
What kind of debugging technique involves different tools to compare the logging data between different executions of the program under test?
Logging
Dump & diff
Stepping in debugger
Profiling tool
Correct answer
Dump & diff
In a software project, the project management team has identified a potential risk of personnel shortfall with a probability (P) of 0.7 and an impact (I) of 2. Assess the risk associated with the project due to personnel shortfall.
Choose the correct option.
3.5
0.35
1.4
2.86
Correct answer
1.4
An software organization wants to reuse the knowledge of one project, in another project, and it is possible if the knowledge is documented and archive properly. Which kind of tools can be used by the organization?
Project management tools
Development tools
Knowledge-sharing tools
None of these
Correct answer
Knowledge-sharing tools
Consider a messaging platform where users can directly exchange messages with each other without relying on a central server. Each user's device acts as both a sender and a receiver of messages, and the communication is decentralized.
Determine the type of software architecture this messaging platform uses.
Client-server architecture
Event-driven architecture
Layered architecture
Peer-to-peer architecture
Correct answer
Peer-to-peer architecture
In which of the scrum activities, the scrum team demonstrates what tasks they have completed so that those tasks can be removed from the To-Do list or In-Progress list to the Done list?
Sprint Planning
Daily Scrum Meeting
Sprint Review
Sprint Retrospective
Correct answer
Sprint Review
An organization came up with a mobile app for employees to report their day-to-day tasks to the corresponding managers. However, the employees find the mobile app very difficult to use. They have to go thought the manual page first in order to properly utilize the app.
What kind of usability goal is missing from the mobile app?
Efficiency
Safe to use
Learnability
Memorability
Correct answer
Learnability
Suppose a mobile app has a feature using which a customer can pay any credit card bill. The customer has to provide only the credit card number as input. However, the mobile app prompt its customer to enter the credit card number twice to confirm that customer does not make a mistake while typing the number.
Which of the following heuristics of UI evaluation is fulfilled in this case?
Flexibility
Prevent error
Support error recovery
Provide help
Correct answer
Prevent error
Identify the type of requirement gathering technique that is most suitable when it's necessary to reach some consensus about the requirements and also to point out any areas of disagreement.
Questionnaires
Interviews
Focus group
Documentations
Correct answer
Focus group
An e-commerce company is preparing to launch a major update to its mobile app. To ensure a smooth transition, they have set up a separate environment with the new version of the app. This environment will undergo thorough testing and validation before directing a portion of the user traffic to the new version.
Once the testing is successful, slowly roll out the change to a small subset of users.
Which software deployment strategy is being implemented in this scenario?
Canary deployment
Red/Black deployment
Incremental deployment
None of these
Correct answer
Canary deployment
Consider the following code base in Python.
Identify the set of valid test cases for black box testing using the equivalence class technique.
{income = 0, income = 150000}
{income = -100, income = 0, income = 150000}
{income = -100, income = 100000, income = 250000}
{income = 0, income = 100000, income = 150000, income = 250000}
Correct answer
{income = -100, income = 100000, income = 250000}
Suppose an online bookshop application has two modules: Customer and Product. Customer module has functions focusing only on all customer-related tasks, like customer registration, customer profile update, etc., while the Product module has functions focusing only on the tasks related to the products, like adding a new product, updating product information, removing a product, etc. Furthermore, the two classes Customer and Product need minimum interaction since they share very small amounts of data.
Identify the type of coupling and cohesion for modules Customer and Product.
Low cohesion and low coupling
Low cohesion and high coupling
High cohesion and low coupling
High cohesion and high coupling
Correct answer
High cohesion and low coupling
An organization has planned to develop a web application in which a user can upload any English text. The web application applies paraphrasing and some other techniques to convert it into a kind of English text that can be understood by anyone with knowledge of elementary English. The entire task of the web application is divided into different modules, and interactions between different modules are outlined.
In which phase of the SDLC process is the web application currently in?
Requirement gathering
Development phase
Design phase
Testing phase
Maintenance phase
Correct answer
Design phase
Adapter design pattern
Iterator design pattern
Observer design pattern
Strategy design pattern
Correct answer
Strategy design pattern
Consider an organization developing a portal for a school. The developer team has developed some features that were not specified by the client, and developing these
extra features has cost the organization extra budget and time.
Based on the above data, answer the given subquestions.
What kind of risk is it?
Technical risk
Project risk
Business risk
None of these
Correct answer
Business risk
Consider an organization developing a portal for a school. The developer team has developed some features that were not specified by the client, and developing these
extra features has cost the organization extra budget and time.
Based on the above data, answer the given subquestions.
How this risk can be mitigated?
By building prototypes and communicating with clients
By hiring developers with relevant experience, within the company, outside the company
By providing training to multiple people with the skills required to work on the project
By performing appropriate cost-benefit analysis and communicating with clients
Correct answer
By performing appropriate cost-benefit analysis and communicating with clients
Which of the integration testing approaches do/does not require the use of stubs and drivers?
Big bang approach
Bottom up approach
Top down approach
Mixed approach
Correct answer
Big bang approach
Which of the following is/are the benefits of continuous integration?
Reduces deployment time
Initially, less effort is required to set up processes users
Users can see an initial prototype
It pushes the developers to create modular code
Correct answers
Reduces deployment time
Users can see an initial prototype
It pushes the developers to create modular code
Consider the following code base in Python.
Identify the set/sets of valid test cases for branch coverage.
{passcode = "25", passcode = "2341234568"}
{passcode = "25", passcode = "123425", passcode = "2341234568"}
{passcode = "25", passcode = "123425", passcode = "2341"}
{passcode = "25", passcode = "123425", passcode = "2341", passcode = "2341234568"}
Correct answers
{passcode = "25", passcode = "123425", passcode = "2341"}
{passcode = "25", passcode = "123425", passcode = "2341", passcode = "2341234568"}
Which of the following is/are true about the class diagram?
There is an inheritance relation between class Product and Order
There is an inheritance relation between class Book and Product
There is a composition relation between class Order and Product
There is a composition relation between class Customer and Order
Correct answers
There is an inheritance relation between class Book and Product
There is a composition relation between class Order and Product