SDLC Interview Questions and Answers, Software development models, software test levels, software test types, and software testing life cycle.
SDLC Interview Questions and Answers
1. What is SDLC?
SDLC (Software Development Life Cycle) is the process of developing software through business needs, analysis, design, implementation and Release and maintenance.
2. What is STLC?
The process of testing software in a well planned and systematic way is known as software testing life cycle(STLC).
Different organizations have different phases in STLC however generic Software Test Life Cycle (STLC) consists of the following phases.
i) Test Planning
ii) Test Design
iii) Test Execution
iv) Evaluating the Exit criteria
v) Test Closure
3. What is the difference between SDLC and STLC?
Software Development Life Cycle involves the complete Verification and Validation of a Process or a Project.
Whereas Software Testing Life Cycle involves only Validation.
Software Development Life Cycle involves business requirement specifications, Analysis, Design,Software requirement specifications, Development Process(Coding and Application development), Testing Process(Preparation of Test Plan,Preparation of Test cases,Testing,Bug reporting,Test Logs & Test Reports), Release and Maintenance .
Whereas Software Testing Life Cycle involves Preparation of Test Plan, Preparation of Test cases,Test execution ,Bug reporting & Tracking, Re & Regression Testing and Test Closure.
STLC is a Part of SDLC.
4. What is Waterfall Model?
Waterfall Model is one of the most widely used Software Development Process.It is also called as “Linear Sequential model”.
It is widely used in the commercial development projects. In this model, we move to next phase(step) after getting input from previous phase, like in a waterfall, water flows down to from the upper steps.
5. What are the advantages of Waterfall Model?
i) Simple and easy to use
ii) Easy to manage due to the rigidity of the model- each phase has specific deliverables and a review process.
iii) Phases are processed and completed one at a time.
iv) Works well for smaller projects where requirements are very well understood.
6. What are the disadvantages of the Waterfall Model?
i) No working software is produced until late during the life cycle
ii) High amount of risk and uncertainty
iii) Poor model for complex and object-oriented projects.
iv) Poor model for Long and ongoing projects
v) Poor Model where requirements are at a moderate to high risk of changing.
7. What is V Model?
A framework to describe the software development life cycle activities from
requirements specification to maintenance.
The V-model illustrates how testing activities can be integrated into each phase of the software development life cycle.
8. What are the advantages of V Model?
o Tester role will take place in the requirement phase it self
o Multiple stages of Testing available so that Defects multiplication can be reduced.
o Can be used for any type of requirements
o Due to Multiple stages of Testing and Multiple teams involvement Quality can be improved.
o The V Model Supports wide range of development methodologies such as Structured and Object oriented systems development.
o The V Model supports tailoring.
9. What are the disadvantages of V Model?
o It an expensive model than Waterfall model, needs lot of resources, budget and time.
o Co-ordination and Maintenance are difficult.
o Adoption of changes in Requirements and Adding New Requirements at middle of the process are difficult.
o It needs an established process for proper implementation.
10. What is Prototype Model?
It begins with requirements gathering. Developers and Customers meet and define the overall objectives of the software.
Developers prepare design documents using all available requirements then build the prototypes, prototypes are sent to Customer, and Customer evaluates Prototypes and gives feedback. Developers redefine Requirements, modify software design and produce modified Prototypes. Process will be continued like this, after getting Customer’s confirmation Developers Start Regular process; Software Design, Coding (Implementation), Testing and Release & Maintenance.
The Objective of this approach is getting clear (Complete and Correct) Requirements from Customers in order to avoid Defects multiplication.
11. What are the advantages of Prototype Model?
o The customer doesn’t need to wait long as in the Linear Model or Waterfall Model.
o Feedback from customer is received periodically and the changes don’t come as a last minute surprise.
o Customer’s interaction improves the Quality as well success rate.
12. What are the disadvantages of Prototype Model?
o It is an expensive approach and time taking process when its compare to sequential models like Waterfall model.
o Customer could believe the prototype as the working version.
o Developer also could make the implementation compromises.
o Once Requirements finalized then adopting changes in Requirements and adding New Requirements are difficult.
13. What is Agile development methodology?
14. What is Scrum Methodology in Agile Software Development?
There are different methodologies, which are a part of the agile model. The most famous one is scrum methodology. Like all the other agile computer programming, scrum is also an iterative and incremental methodology. This methodology is different than the other methodologies because, the idea of empirical process control was introduced in this process. As a matter of fact, scrum was introduced for software project management. However, it was eventually also used for software maintenance.
The best part of the scrum methodology is that it makes use of real world progress of a project, which is used for planning and scheduling releases. The entire computer software project is divided into small parts known as sprints. The duration of sprint can range from one week to three weeks. At the end of the duration of the sprint, the team members along with the stakeholders meet. This meeting helps in assessing the progress of the project and chalk out the further plan of action. This assessment helps in taking stalk of the current state of affairs and rework the line of work and complete the project on time and not just speculate or predict the further outcome.
15. What Spiral Model?
The Spiral Life Cycle Model is a type of iterative software development model which is generally implemented in high risk projects.
It was first proposed by Boehm. In this system development method, we combine the features of both, waterfall model and prototype model. In Spiral model we can arrange all the activities in the form of a spiral.
16. What is Requirements Gathering phase in SDLC, explain it?
This is an initial stage in SDLC; in this stage business analyst category people gather requirements from the customer and document them, the document called BRS (Business requirements specification) or CRS (customer requirements specification) or URS (user requirements specification) or PRD (product requirements specification) or BDD (business design document)
. Document name may vary from one company to another but process is same
. In software application development BA category people gather requirements from a specific customer
. In software product development BA category people gather requirements from model customers in the market
17. What is BRS in Software Development?
BRS is Business Requirement Specification which means the client who want to make the application gives the specification to software development organization and then the organization converts it to SRS (Software requirement Specification) as per the need of the software.
18. What is SRS in Software Development?
Software Requirements Specification (SRS) is a perfect detailed description of the behavior of the system to be developed.
SRS document is an agreement between the developer and the customer covering the functional and non functional requirements of the software to be developed.
SRS document consists of 2 sub documents
i) System Requirements Specification
ii) Functional Requirements Specification
SRS can be derived from BRS Document and it is technical document.
19. What is HLD or Global Design?
High-Level Design gives the overall System Design in terms of Functional Architecture and Database design. It designs the over all architecture of the entire system from main module to all sub module.
20. What is LLD or Detailed Design?
Low-Level Design the view of the application developed during the high-level design is broken down into modules and programs. Logic design is done for every program and then documented as program specifications. For every program, a unit test plan is created.
21. Explain the Software Release process?
PM (Project Manager) forms Release Team, Release team consists of a few developers, testers, project management executive, and system administrator
Release Team goes to customer place and deploys software.
Release Team provides some training to the customer site people (if required)
22. Explain the Software Maintenance Process?
PM (Project Manager) forms Maintenance Team, Maintenance team consists of a few developers, testers, and project management executives
CCB receives customer change requests and performs required changes
i) Corrective changes and ii) Enhancements
b) Migration Migrating from old technology to new technology
(ex: Windows 98 to Vista/Windows 7)
Ms Access to SQL Server/Oracle)
c) Retirement Retiring the Old system and developing New system
(Ex: II-tier application to web application)