Software Testing and Metrics - 10 Marks Answers
1. What is Testing?
Testing is the process of evaluating a system or its components with the intent to find whether it
satisfies the specified requirements or not. It involves executing software to identify any gaps, errors,
or missing requirements in contrast to the actual desires.
2. What is Software Testing?
Software testing is a systematic process of verifying and validating the functionality of a software
application to ensure it meets the business and technical requirements. It helps in identifying defects
and ensures the quality, reliability, and performance of the software product.
3. Explain Black-Box testing
Black-box testing is a software testing technique where the tester evaluates the functionality of an
application without knowing the internal code structure. The focus is on inputs and expected
outputs. Common techniques include equivalence partitioning and boundary value analysis.
4. Explain White-Box testing
White-box testing involves testing the internal structures or workings of an application. Testers need
knowledge of the source code. It is also known as structural testing and includes techniques like
path testing, loop testing, and condition testing.
5. What are various types of testing?
Various types of testing include:
- Unit Testing
- Integration Testing
- System Testing
- Acceptance Testing
- Regression Testing
- Performance Testing
- Stress Testing
- Usability Testing
- Security Testing
Each type addresses specific aspects of the software quality.
6. What is regression testing and why is it important?
Regression testing is the process of testing changes to a software system to ensure that previously
developed and tested software still performs correctly after a change. It is crucial for verifying that
bug fixes or enhancements do not introduce new issues.
7. What is Debugging
Debugging is the process of identifying, analyzing, and fixing bugs or defects in software code. It is
done after testing reveals a problem. Debugging ensures that the software behaves as expected
and involves tools like breakpoints, step execution, and code analysis.
8. Differentiate Black-Box testing and White-Box testing
Black-Box Testing:
- Focuses on functionality.
- No knowledge of internal code.
- Performed by testers.
White-Box Testing:
- Focuses on internal logic and code.
- Requires code knowledge.
- Performed by developers or testers with programming skills.
9. Define process metrics
Process metrics are measures used to monitor and improve software development and
maintenance processes. They include data on productivity, efficiency, defect density during phases,
and timeline adherence. These metrics help in process improvement and project management.
10. Define product metrics
Product metrics describe the characteristics of the software product such as size, complexity, design
features, performance, and quality level. Examples include lines of code, cyclomatic complexity, and
defect density.
11. What is the main purpose of software metrics?
The main purpose of software metrics is to provide quantitative insights into the software
development process and product. Metrics help in estimating project size, effort, cost, performance
evaluation, quality assurance, and process improvement.
12. When alpha and beta testing conducted?
Alpha testing is conducted by internal teams at the developer's site before the product is released to
real users. Beta testing is performed by end users in a real environment after alpha testing and
before final release, to identify any potential issues in real-world usage.
13. What is the difference between product and project metrics?
Product metrics measure the characteristics of the software product (e.g., reliability, size), while
project metrics assess the project aspects such as effort, time, cost, and team performance. Product
metrics ensure software quality; project metrics track progress and efficiency.