Explore topic-wise InterviewSolutions in .

This section includes InterviewSolutions, each offering curated multiple-choice questions to sharpen your knowledge and support exam preparation. Choose a topic below to get started.

1.

Software Prototyping

Answer»

Software Engineering is a systematic, disciplined, cost-effective technique for software development. In simple terms, it is an engineering approach to developing software.

Software Development Life Cycle

The Software Development Life Cycle is a process used in the software industry to produce and design high-quality software. The SDLC follows certain stages of designing, developing, testing software before launching it.

A typical SDLC life cycle is as follows:

There are various types of SDLC modes. Some of the popular SDLC models are as follows:


  • Waterfall Model

  • Iterative Model

  • Spiral Model

  • Big Bang Model

  • V- Model

  • Agile Model


  • RAD Model
     


  • The process in which developers create a model of the actual software.

  • The intention behind creating this model is to get the actual requirements more deeply from the user.

  • Prototyping helps a lot in getting feedback from the customer.


Process of software prototyping


  • Initial requirements identification

  • Prototype Development

  • Review

  • Revise


Types of prototyping


  • Rapid Prototyping/Throwaway: In this type, we build a prototype with very little effort to get the requirement from the user after getting the requirements, we throw away this prototype and start building the actual software.

  • Evolutionary Prototyping: The prototype on the top of which we can build the whole actual system.



Testing in Software Engineering 

At different stages of software development, we need to test what we develop. When we develop a unit, we test it when we integrate it with other units. Also, it needs to be tested before giving the software to the customer.

In some testing types, we directly deal with the code, which is known as white box testing. In some other cases, we do not have to look at the code and it is known as black-box testing. A mixture of these two is known as gray box testing.


Unit Testing


  • Testing a single unit of the software is known as unit testing.

  • In this testing, we will test an isolated unit of the software, which contains lots of the units.


Integration Testing

Here, the testing of a few units of the software is done separately. Now, after testing, those units are integrated. After integrating those units, it is again tested.


Regression Testing

Here, a new module is made and it is added to the software. Whenever a new module is added to the software, it is tested to check whether the software is working fine with the change.


System Testing


  • The complete software is ready and working as a system.

  • In this testing, the focus is the entire software. The testing is done based on Evolutionary are input and output.

  • Software compatibility is tested on different kinds of OS.

  • Testing the software comes under the black box testing category.


Stress Testing


  • The software is tested under unfavorable conditions.

  • In this testing, the software is pushed to its maximum limit to check whether any failure occurs under some unfavorable conditions.



Software Engineer MCQs