Saturday, June 30, 2018

SDLC common interview questions


What is the difference between a use case and test case?


A use case captures business and user requirements related to system functions—that is, how the users interact with the system. The goal of a use case is to help the development team understand precisely what the users will expect the system to do.

A use case describes all the possible paths through a given user/system interaction, including the basic path and any alternative or exception paths. The basic (or "happy") path is the one that meets the user's needs. "Alternative paths" are additional paths that are acceptable but aren't the most common, frequent, or desirable. "Exception paths" are those that fail to meet the user's needs because of errors like missing information or invalid data. A single use case may describe many different paths.

Test cases are used to validate that the requirements have been met. The quality assurance analyst will probably want to test the system thoroughly by setting up an individual test case for each path described in a use case. At a minimum, they would set up separate test cases for the "happy path," each alternative path, and each exception path. There would probably also be multiple test cases for the happy path—one for each situation that would cause different business rules to be invoked.

Use cases are provided to developers so that they can develop the solution, and test cases are provided to testers so that they can validate that the solution matches the requirements. Thus, use cases often supply input for developing test cases. But while the two documents may overlap quite a bit, they aren't exactly the same thing.

Which phase of SDLC does the testers begin to write test case?

Testers start writing test case when the requirement are base lined and the functional requirement / use case are available and generally this is ready by Design phase or beginning of coding and unit testing phase. Testers start writing test case during Design or coding and unit testing phase.

What is the difference between functional document and business document?

Business document is the requirement gathered from the customer about their business requirements. This can also come from the competitor products from the marked and also through market research. Whereas the functional requirement is exact workflow of the agreed business requirements which the end user will be using when the project/product is developed.

Who are the different stakeholders involved in different phases of SDLC?

Requirements Gathering : Business Analyst / Product owner
Planning : Senior Management, Product owner, Business Analyst and project manager
Design : System Architect, Senior Developers and Project Managers
Coding and unit testing : Software Developer / Development Team
Testing : Tester / Testing Team
Implementation :  Operational Team
Maintenance:  Production Support Team

Do we need a separate environment for the developers and testers?

Developers when developing the system, there will be many changes happening to the system from the development team and it will be difficult for the testing team to test the system here as it is not stable. Hence testing team need a stable environment and it should be close to production environment if possible.

What is the role of a Business Analyst in different phases of SDLC?

Business Analyst has the key role in the requirement elicitation phase where he is directly responsible to get the requirements from customer. He also has the responsibility of sharing the knowledge with the rest of the team. During other phases of the SDLC, whenever the team has any doubts on the requirement, he has the responsibility of clarifying their doubts. During development, if any new requirement is pushed or any change to the existing requirement is identified he has to discuss with the team and see the impact of the change and feasibility of implementation of the change after discussing with the architects, project managers, test managers and senior developers. When the project / product is ready for release he can always get involved in system testing to ensure the system is working as per the customer requirements. When the defects are raised by the testing team during testing and if there are any conflicts between development and testing team on the relevance of the defect, he can always give his input on the defect under discussion.

What is the role of a Developer in different phases of SDLC?

Requirement Elicitation: Ensure the requirements are understood clearly and demonstrate his understanding to the team (Medium: Presentation, discussion, understanding documents..etc.)

Planning : Provide the input to the project manager on the initial estimation of the requirements.

Design Phase: Come out with the low level design from the High level design documents.

Coding and unit testing: Implement the system and do the self-review, code review and unit testing.

Formal Testing: Fix the defect raised by the testing team.

Maintenance: Ensure the issues raised in production are verified, do the impact analysis, estimate the time for fixing and do the production fix.

What is the role of a Test Analyst in different phases of SDLC?

Requirement Elicitation: Ensure the requirements are understood clearly and demonstrate his understanding to the team (Medium: Presentation, discussion, understanding documents..etc.)


Planning Phase:  Help the test lead in providing the estimation of each testing task. 

Design Phase:  Start writing the test cases for the finalized requirements.

Coding and unit testing: Continue on test case development and also involve in test case review of peers.

Formal Testing: Execute the test cases, analyze any defects found, report the defect and get the acknowledgement of the defect from the development team. When the defects are fixed by the dev team, ensure they are re-tested and perform the regression testing to ensure no other functionality is broken. Also test the non-functional requirements identified by the customer and the team.

Maintenance: Regression testing, non-functional testing and the production fix test.

What is the role of a Customer/ Client in different phases of SDLC?

Requirement Elicitation: Provide the necessary business requirements to the development team. Ensure all the clarifications from the team (business analyst and rest of the team members) are addressed in timely manner.

During other phase of SDLC, the customer should always be available for clarification and also participate during the sprint or iteration demo. During UAT, participate in the UAT testing and give their feedback on the system.

No comments:

Post a Comment