0% found this document useful (0 votes)
44 views3 pages

B.Sc. Computer Science: Software Testing Guide

st questions

Uploaded by

Elamathi L
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views3 pages

B.Sc. Computer Science: Software Testing Guide

st questions

Uploaded by

Elamathi L
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

University of Madras – [Link].

Computer Science (Semester V)


Software Testing (325E5E)

Important 2 Marks, 5 Marks and 10 Marks Questions (Unit-wise)

UNIT I – Principles of Testing


2 Marks
• Define software testing.
• What is the main purpose of testing?
• Define verification and validation.
• What are faults and failures?
• List out the levels of testing.

5 Marks
• Explain the different testing principles.
• Differentiate between verification and validation.
• What are the main goals of software testing?
• Explain test planning and testing activities.
• Write short notes on static analysis and software inspections.

10 Marks
• Discuss the purpose, principles, and goals of software testing with examples.
• Explain the various strategies for software testing and their significance.
• Describe the levels of testing and their importance in the software development process.
• Explain in detail the process of verification and validation in software projects.

UNIT II – White-Box and Black-Box Testing


2 Marks
• What is white-box testing?
• Define black-box testing.
• What is mutation testing?
• What is boundary value analysis?
• What is a test plan?

5 Marks
• Explain test adequacy criteria with examples.
• Discuss the different types of black-box testing techniques.
• Write short notes on mutation and data flow testing.
• Explain test management and reporting.
• Write a short note on Test Maturity Model (TMM).
10 Marks
• Explain the differences between white-box and black-box testing with examples.
• Describe mutation testing, data flow testing, and code complexity testing in detail.
• Explain test plan, test management, and test process assessment in functional testing.
• Discuss how a tester’s workbench supports the testing process.

UNIT III – Debugging, Testability, and Regression Testing


2 Marks
• Define debugging.
• What is regression testing?
• What is a test bed?
• Define traceability.
• What are testable requirements?

5 Marks
• Explain the process of debugging and root cause analysis.
• Discuss the attributes of testable requirements.
• Explain verification and validation testing.
• Write short notes on GUI testing.
• What are the steps in regression test case selection and prioritization?

10 Marks
• Discuss the stages of integration, system, and acceptance testing.
• Explain regression testing – its need, selection, minimization, and prioritization
techniques.
• Write detailed notes on debugging process and test documentation.
• Explain the importance of test traceability and test matrices.

UNIT IV – Defects, Test Design, and Higher Order Testing


2 Marks
• Define a defect.
• What is a defect repository?
• What is object-oriented testing?
• What is exploratory testing?
• What is risk-based testing?

5 Marks
• Explain the origin and classification of software defects.
• What is defect repository and how is it used in test design?
• Discuss specification-based and scenario-based testing.
• Explain usability and accessibility testing.
• Explain compatibility and performance testing.

10 Marks
• Explain various higher order testing techniques and their purposes.
• Describe the different types of software defects and how they can be prevented.
• Explain the process of creating test cases from requirements and use cases.
• Discuss risk-based and exploratory testing approaches with examples.

UNIT V – Specialized and Automated Testing


2 Marks
• What is configuration testing?
• Define security testing.
• What is test automation?
• What is the role of a test automation architect?
• What is performance testing?

5 Marks
• Explain the need for client–server and web-based testing.
• Write short notes on security and portability testing.
• Explain testing in a multi-platform environment.
• Discuss the steps in application performance testing.
• Explain the process of evaluating and selecting test automation tools.

10 Marks
• Explain the process of planning and implementing test automation.
• Describe the different types of specialized testing such as security, efficiency, and
reliability testing.
• Discuss the process of performance testing and effective root cause analysis.
• Write in detail about automation architecture, team roles, and tool selection.

Common questions

Powered by AI

Software defects can be systematically classified based on their origin, nature, impact, and frequency. Types of defects can include functional defects, performance defects, usability issues, security vulnerabilities, and others. Preventing defects involves strategies such as adopting comprehensive testing methodologies, rigorous code reviews, continuous integration, and deployment practices, as well as implementing preventative measures like test-driven development (TDD), automated testing tools, and frequent testing throughout the development process. Successful prevention relies on a proactive approach integrated at every stage of the software development life cycle .

Verification and validation are distinct processes in software testing aimed at ensuring software quality. Verification refers to the process of evaluating work-products of a development phase to determine whether they meet the specified requirements. It is about ensuring the product is being built correctly, focusing more on the process. In contrast, validation is the process of evaluating the final product to check whether it meets the business needs and requirements. This is more concerned with the outcome and is about building the right product. The significance of these processes lies in their complementary nature; verification helps catch errors early in the development process while validation ensures the end product meets user demands, thus maintaining overall software quality .

Regression testing is critical in maintaining software quality over release cycles by ensuring that new code changes do not adversely affect existing functionalities. Its significance lies in its ability to provide confidence in consistent software performance over time. Techniques such as test case selection, which involves identifying a subset of test cases that are likely to be affected by the changes, test case prioritization which ranks tests based on their significance, and test suite minimization to reduce redundant tests while covering necessary scenarios, all help optimize the efficiency of regression testing. These techniques balance the demands of thorough testing against resource constraints .

Exploratory testing offers several advantages over traditional scripted testing methods by allowing testers to simultaneously learn, design, and execute test cases. It leverages the tester's creativity, intuition, and experience, enabling them to discover unexpected defects and edge cases overlooked by automated or scripted tests. This method is particularly beneficial in identifying usability issues and understanding complex user interactions. However, it can be more challenging to measure coverage and repeatability, requiring skilled testers to document their findings effectively .

Performance testing contributes to software reliability in a multi-platform environment by evaluating its behavior under different conditions and loads across various platforms. It ensures that software delivers responsive and consistent performance, identifying bottlenecks, scalability issues, and resource utilization patterns. Key challenges in executing performance testing include creating realistic test conditions, simulating diverse user loads, and accurately measuring performance metrics across platforms. Additionally, differences in platform capabilities and configurations can lead to inconsistent results, requiring careful interpretation and adaptation of testing strategies .

White-box testing involves a detailed examination of the program's internal structures or working, often requiring programming-specific knowledge, while black-box testing focuses on evaluating the functionality of the application without any knowledge of the internal workings. Both techniques have their strengths and limitations; white-box testing can uncover hidden defects in the code but can miss higher-level functionality errors, whereas black-box testing helps ensure that all functional requirements are met but may overlook underlying coding issues. Together, they provide a more complete evaluation by addressing both the structural correctness and the operational functionality of the software .

Testing principles are fundamental guidelines that inform and direct the software testing process. These include principles such as testing showing the presence of defects, exhaustive testing being impossible, early testing, defect clustering, the paradox of pesticide, and others. These principles help testers design effective tests by prioritizing areas more likely to contain defects, introducing tests early to catch potential issues sooner, and adapting tests to deal with evolving project challenges. They are fundamental because they maximize resource efficiency, ensure high-quality outcomes, and maintain the balance between cost and thoroughness in testing .

Test automation plays a crucial role in modern software testing by significantly increasing efficiency, accuracy, and coverage of testing processes while reducing manual effort and error rates. Automation architects are pivotal in devising frameworks, strategies, and tools that enable effective automation. They must possess a clear understanding of both the technical and strategic aspects of testing to create sustainable and scalable automation solutions. Furthermore, they oversee the implementation and maintenance of automation practices, ensuring alignment with business objectives .

Risk-based testing prioritizes testing efforts by focusing resources on areas identified as having the highest risk of failure, where risk is typically a function of the likelihood of a defect and the impact of such a defect. This ensures that the most critical parts of the application are thoroughly tested. Challenges in implementing this approach include accurately assessing risks, which requires extensive domain knowledge and historical data, and maintaining flexibility to adapt to changing risks throughout the project's lifecycle. Additionally, stakeholders might have differing views on what constitutes a risk, requiring negotiation and consensus-building .

Test traceability enhances the testing process by ensuring that each test is linked back to specific requirements, thereby confirming that all requirements have been covered by the tests. This alignment provides insight into test coverage and facilitates impact analysis during requirement changes. For project management, test traceability implies better visibility into test coverage, aids in measuring testing efficiency, and supports compliance with standards or regulatory requirements by documenting the testing process. This, in turn, contributes to informed decision-making and risk management within software projects .

You might also like