What is the difference between use case and test case?
Ø Use case
o Use case describes step by step instructions of how to use functionality and They are prepared by business analyst.
o Use cases are derived from Business requirement specifications.
o Use cases are pictorial representations of client requirements and represents flow of event of an application.
Ø Test Case
o Test cases are designed by test engineer and some time by quality analyst too, they are derived from use cases
o Test cases verifies functionality, they are majorly created in excel but some companies document them in test case management tools as well.
o They contain action, event and expected outcome of particular feature of an application.
Which phase of SDLC does the tester begin to write test case?
Ø Traditionally test cases are designed after development process is done in SDLC, waterfall model is the example for this.
As we can see each activity is performed at the end of previous phase. So any bug which is found during testing most of them are exists from requirements analysis and design phase and fixing those bug in testing phase is much more expensive compared to if we have found them in earlier stages.
“A procedure intended to establish the quality, performance, or reliability of something, especially before it is taken into widespread use” — Test definition at the Oxford dictionary.
Main advantages of testing in earlier phases:-
- Many problems are introduced into the system during planning or design. Requirements testing anticipate future problems at a significantly lower cost.
- Since the testing process is involved with all phases of the SDLC, Management will not feel like testing is the bottleneck to release the product.
- Testers will be more familiar with the software, as they are more involved with the evolution of the product in earlier phases.
- Test cases written during requirements and shared with the Dev team before the construction phase can help developers to think outside the box and evaluate more chances of failure in their code.
- The test environment can be prepared in advance, anticipating risks and preventing delays.
- The risk of having a short time for testing is greatly reduced, increasing test coverage and types of tests performed.
- Involving quality assurance in all phases of the SDLC helps creating a ‘quality culture’ inside the organization.
What is the difference between functional document and business document?
Ø Business requirement document (BRD):- They are written to define the requirements of a business process or a system that needs to support a business process. For example, if a trade association has an objective to promote the services offered by its members, the business requirements for a project might include creating a member directory that increases awareness of members. These documents provide enough information and guidance to help ensure that the project fulfills the identified needs. The need or problem can related to the organization or business in general or focus on a stakeholder group, such as customers, clients, suppliers, employees or another group.
Ø Functional requirement document (FRD):- Functional requirements break down the steps needed to meet the business requirement or requirements. Whereas a business requirement states the ‘why’ for a project, a functional requirement outlines the ‘what’. For example, if the business requirement is to create a member directory for a trade association, the functional requirements will outline who has access to the directory, how member register with the directory, who will have ownership of the data, what vehicle or vehicle will be used such as a website or paper-based directory, and so on. While senior managers will be more interested in business requirements, functional requirements are generally what staff and lower-level managers need to focus on when developing a project. The end objective is for each step to contribute towards achieving the business requirement or requirements. It should also be clear who will be responsible for each step.
Who are the different stakeholders involved in different phases of SDLC?
Ø Active stack holder participation is vital to success of IT projects, they are kept engaged throughout the life of project. Below are the list of stackholders involved in all different phases:-
o Requirements– Business Analyst
o Design – System Architect
o Coding – Software Developer / Development Team
o Testing – Tester / Testing Team
o Implementation – Operational Team
o Maintenance – Production Support Team
Why do we need a separate environment for the developers and testers?
Ø Critical in the software development lifecycle is the presence and maintenance of environments – the locations where developers do their programming, testers perform their software quality assurance, and members of the wider team can access the latest version of the app for their own needs:
o Development Environment:- development environment is the shared location for all developers to check their code against all changes in that release. This is known as integration testing. Since the dev environment changes with every build, it invalidates the testing already performed since the bug is fixed or new bug is found where as QA testing requires a known state of code and a stable set of test data.
o QA Environment:- this contains a known codebase of the entire app, when a complete test run is performed on specific build only then it can be released. This environment is under strict control so that no code can be changed without going through the proper procedure. Setting up test data can be a lot of work, separate QA environment decreases the fluctuation of test data. QA server has active connections to 3rd party interfaces so that accurate and complete test results can be gathered from every place the application interacts with other systems