What is software testing?
I hope we are all aware of the word testing. Testing is the word used to check and evaluate the quality of anything. In the same sense, the process of software testing is aimed to check out the bugs which can lead to future problems. By testing the software, the tester evaluates the software and gets ensured that the software is in compliance with every regulation, and in compliance with functional and user requirements.
Why is testing done?
Software is tested before release as an assurance to users of its quality from the developing agency. Faults detected before release can be corrected quickly and much better than those detected after release. Also, testing saves development time, and testers can provide a different insight from the developers into the working of the software.
What are some important software testing tools?
Some of the important software testing tools are as follows:
- Apache JMeter
- Tosca Testsuite.
What are the different Types of Functional Software Testing?
Below is the list of testing types coming under functional testing
- Unit Testing.
- Sanity testing.
- Smoke testing
- Integration Testing.
- System Testing.
- Interface Testing.
- Regression Testing.
What are the levels of Software Testing?
There are currently four levels of software testing which are generally recognized. All four are listed below
- Unit/component testing
- Integration testing
- System testing
- Acceptance testing.
What is software testing life cycle?
Software Testing Life Cycle commonly known as STLC is a testing process in which by execution of specific steps in a definite sequence, the tester gets ensured that the quality goals have been met. Each activity in the STLC is carried out in a planned and systematic way. Each phase has different goals and deliverables.
What are the different phases in the software testing life cycle?
Below are the phases of STLC:
- Requirements phase.
- Test Planning Phase.
- Analysis phase.
- Test Design Phase.
- Implementation Phase.
- Test Execution Phase.
- Conclusion Phase.
- Closure Phase.
What is regression testing in software?
Sometimes because of the new changes, older programs get affected. With the help of regression testing, it is made sure that older programs still work with the new changes. This software testing makes sure that a newer program has not affected the currently existing features.
What is smoke testing in software testing?
Smoke testing comprises a non-exhaustive set of tests that aim at ensuring that the most important functions work. It is also known as build verification testing because of the fact that this test is used to decide whether the build is stable enough to proceed with further testing.
What is stress testing in software testing?
From the word “stress” it should be clear that this test is done to check the software’s durability and stability by stretching the software to its limit. Stretching the software to its limit means checking the performance of the software in extreme and unfavourable conditions occurring due to different reasons such as overclocking, underclocking, process loading or due to heavy network traffic.
What is SDLC in software testing?
SLDC is short for Systems development life cycle is simply the process of developing a software product. SLDC is a set of activities which is carried out by developers in order to design and develop high-quality software. The sequence includes planning, creating, testing and deploying in order to create and maintain a system.
What is the requirement traceability matrix in software testing with the sample?
Requirement Traceability Matrix helps in ensuring the test coverage. The traceability matrix is a document or a table which co-relates any two baseline documents which check the completeness of the relationship. This makes sure that everything within both documents is related in any way. The main purpose of this matrix is to identify anything which is not linked n two documents and requires further analysis.
COTS stands for commercial off the shelf products. It is usually computer software or hardware which is tailored for specific uses and made available for the use for the general public.
What is exploratory testing in software testing?
As the name Exploratory suggests, it is a technique used to find out what the application does and what its features are by exploring the application. It is also used to find out the unknown issues which can occur during or after the software development process.
What is black box testing in software testing?
It is also known as behavioural testing. In this testing technique, the functionality of the software is tested without looking at the internal code structure. It is solely based on software requirements and specifications.
What is white box testing in software testing?
White box testing is also known as glass box, structural, open box or clear box testing is the software testing method in which the tester who is going to test the software has knowledge of the internal structure. The tester is required to possess the knowledge of the internal working of code in order to implement white box testing.
What is Verification and Validation in Software testing?
Verification and validation are two different processes in software testing. While the process 0f verification is concerned about the evaluating the products which are in a development phase to find out whether they meet specific requirements, the process of validation is more concerned about evaluating the software at the end of the development process to determine whether it meets the customer requirements or not.
What is meant by metrics in software testing?
If we want the process to be successful in the long run we need some measurements (or metrics). In order to improve the efficiency and effectiveness of the software, metrics help in estimating the progress, quality and health of the software testing effort. It helps development teams to ensure that the team is able to keep track of software quality at all stages and able to identify issues, analyze progress and take corrective action before it is too late.
What is s patch in software testing?
Patch is the word used in sense of fixing or quick repairing. Similarly, a software patch is an immediate fix or repairing work in order to solve the issue of functionality, improve security and add new features.
What is Manual Testing?
The word manual itself suggests that these kinds of works are not done by automation tools. It is a type of software testing in which the tester performs the test cases manually.
What is the difference between manual and automated testing?
In manual testing, the tester executes he test cases manually without the help of any automation support tools or scripts. In automated testing, the test cases are not executed manually but with the help of the assistance of tools, scripts and software.
What are exit criteria in test plan?
A Quality Assurance team needs to gain knowledge about the times when it is suitable to carry out the testing process and when it needs to be terminated. It is the condition which tells that the target or goals have been completed and now the testing process can be terminated.
What is severity and priority in software testing?
Severity of a bug is defined as how severe the bug is and how much it can impact the finance, company’s reputation, life or environment. Priority of a defect is defined as how quickly a bug should be fixed.
What is defect masking in software testing?
There are two types of defects in software testing. One is a masked defect and the other one is a latent defect. Masked defect hides the other defect. In simple words, it is the defect which exists but does not cause any failure because error which is also present in the system has prevented that piece of code from being executed. A latent defect is a defect which has been existing in the system for long but hasn’t caused any failure because the exact set of conditions were never met.
What is the difference between software testing and software quality assurance?
Identifying what is wrong in software is called “software testing”. Software testing provides information about the quality of the product to its customers, clients and stakeholders that whether it meets their requirement or not.
In order to prevent defects after production, the best practice during design and implementation should be followed. This is called software quality assurance. It helps in increasing the confidence of the customers in the product.
What is an agile testing methodology?
Meaning of Agile is 'moving quickly'. Based on the iterative and incremental model of software development, this method helps in customer satisfaction by providing fast and continuous delivery of small and useful software.
What is Defect Clustering in Software Testing?
When the majority of the defects are caused by a small number of modules then it is termed as defect clustering. In this case, the distribution of the defects is centralized in smaller sections.
What is the difference between static and dynamic software testing?
In Static Testing, the code is not executed in the process of examination and can be done manually or by a set of tools. It is done earlier in the development lifecycle that’s the reason it called verification testing. In the case of dynamic testing, testing is done when the code is in operation mode and performed in a runtime environment. The examination of the code is not necessary for testing and execution. The dynamic testing is done late in the validation stage.
What is a Kanban in Agile?
Kanban is a Japanese word which means ‘visual signal'. This technique is used to manage a software development process in a highly efficient way. This system improves the efficiency of a team by helping reduce idle time.
What is the purpose of a sprint retrospective in Scrum?
A scrum team holds a meeting at the end of every sprint, this meeting is called the sprint retrospective. Generally, this meeting is facilitated by the scrum master. The scrum team discusses just-concluded sprint and talks about the changes that might make the next sprint more productive. This is the most important part of a scrum process as the focus stands more on improving the efficiency of the scrum team.
What are static analysis tools?
This is the method when developers try to find errors in code without running it. The word static in English means without running the program. In this method, the tool itself is executed not the code.
What is the Difference between Testing & Debugging?
Testing and debugging both are part of quality assurance services. In testing the tester tries to discover the existing defect in the software. After discovering the defects, the issue is forwarded to the developer team to debug. Upon receiving the issue, the developer team start to debug the error. It is done manually.
Difference between Verification and Validation?
Verification of software is a process-oriented process answering the question “is the product being made correctly?”, while validation of software follows a product-specific approach answering the question “is the correct product being made?”
What is meant by SDLC?
A commonly used term, SDLC or Software Development Life Cycle are all activities performed while software development. SDLC includes requirement gathering, designing, coding, testing, deployment, and maintenance phases in that order.
What is meant by testbed?
Test Bed is the environment where an application is tested. It includes all software (OS, other software) and hardware requirements of the software being tested.
What is Test Plan?
Test Plan refers to a document describing the scope and approach of tests, required resources, and estimated time. Test Plan is derived from the Software Requirement Specifications document.
What is meant by Test Case?
Test Case is a document containing a range of conditions of requirements, inputs, and expected outputs from the software. It is used to check whether the application conforms to the required specifications.
What is meant by Test Scenario?
A test scenario is used for end-to-end testing of an application. It contains many test cases.
What is meant by Test Script?
A test script is a test case written in a programming language. It is a set of instructions in a programming language for evaluation of an application’s working.
What is a bug?
A bug is a malfunction causing error or fault in software which is detected during the testing process.
What is a Defect?
A defect is a fault in the program causing it to deviate from the requirement, which is detected during production, that is after the software goes live.
What is meant by defect density?
Defect Density is simply the density of defects in the software system. It is calculated by dividing the number of defects found by the number of lines of code (whole program, or method, or class).
What is meant by defect severity?
Defect severity is a measure of how serious the defect is in terms of how much it affects the functionality of the program.
What is defect priority?
Defect priority is the measure of how urgently the defect needs to be fixed. It is normally set on a scale ranging from P0 to P3, with P0 having the highest priority.
What is meant by blocker?
A blocker is a high priority as well as high severity bug. It is called a blocker when it prevents testing other parts of the application as well.
What is critical bug?
Critical bugs are high severity high priority bugs that cause a major malfunction in the application. They differ from blockers in that they do not affect testing of other parts of the program.
What is Black Box Testing?
Black Box Testing is a type of testing where the tester does not have access to the internal specifications of the program and only the user interface is used to test.
What is White Box Testing?
White box testing is the type of testing where the tester has complete access to all internal specifications of the application being tested.
What is Gray Box Testing?
Gray box testing is the type of testing process where the tester has restricted access to only specific sections of the internal working of the application.
Explain Cause Effect Graph?
It is a type of Black Box Testing procedure where a graphical representation of cause (input) and effect (output) is used to design the test. Logic diagrams (AND, OR, NOT, etc.) are used.
What is meant by use case testing?
A: Use Case Testing is another black box testing procedure where testing is done using a use case scenario for the application to check how the application responds to various use scenarios.
What is Statement testing?
Statement testing is a process where test scripts are designed to execute sections of code.
What is meant by decision testing?
A: Decision testing is a white box testing process where test coverage measurement is done by measuring the percentage of decision points that are executed out of the total number of decision points in the program.
What is meant by Alpha Testing?
Alpha testing is the acceptance test performed by developers at the site of development.
What is meant by Beta Testing?
A: Beta testing is the acceptance test performed by users at the site of use. Beta testing provides valuable customer side insight to the developers before the final product is launched.