JNTU
JNTU MCA 2022 SOFTWARE TESTING METHODOLOGIES Previous Question Paper (February - 2022 - R17)
Answer any Five Questions
All Questions Carry Equal Marks
Main
What are the consequences of bugs? Explain.
Answer
Bugs in software can lead to severe consequences ranging from minor inconveniences to catastrophic failures. The primary impacts include:
- Financial Loss: Bugs can cause system downtime, leading to lost revenue, expensive emergency patches, and potential legal penalties or lawsuits for non-compliance.
- Reputational Damage: Frequent failures erode user trust and damage the brand image, often leading to customer churn and loss of market share.
- Safety and Security Risks: In critical systems like medical devices, aviation, or financial infrastructure, bugs can result in physical harm, loss of life, or data breaches that compromise sensitive information.
- Operational Inefficiency: Bugs often cause performance bottlenecks or incorrect data processing, forcing organizations to rely on manual workarounds that reduce overall productivity.
- Project Delays: Discovering bugs late in the development cycle necessitates costly rework, which delays release schedules and increases the total cost of ownership.
Explain about path predicates and achievable paths.
Answer
A path predicate is a logical expression that represents the constraints imposed by the conditional statements (such as if-then-else or loops) encountered along a specific path in a program's control flow graph. It is a boolean function of the input variables that must evaluate to true for the program execution to follow that specific path.
An achievable path is a path from the entry node to the exit node of a program for which there exists at least one set of input data that satisfies the path predicate. If the path predicate is unsatisfiable (i.e., it evaluates to false for all possible inputs), the path is considered unachievable or infeasible.
Key aspects include:
- Path Analysis: Testers use path predicates to determine if a chosen sequence of statements can actually be executed during testing.
- Infeasibility: Many paths in complex code are infeasible due to contradictory logic (e.g., a path requiring x > 10 and x < 5 simultaneously). Identifying these helps in optimizing test suite design by excluding impossible paths.
- Constraint Solving: Automated test data generation tools often use constraint solvers to determine if a path predicate is satisfiable, thereby identifying achievable paths for effective test coverage.
Write about the taxonomy of bugs.
Answer
Sign in to view the complete answer paper.
What is path testing? What are its applications? Discuss.
Answer
Sign in to view the complete answer paper.
What is meant by transaction flow testing? Explain its significance.
Answer
Sign in to view the complete answer paper.
Explain data-flow testing with an example. Write its limitations.
Answer
Sign in to view the complete answer paper.
Differentiate between nice and ugly domains with examples.
Answer
Sign in to view the complete answer paper.
What is Interface testing? Explain interface testing techniques.
Answer
Sign in to view the complete answer paper.
Discuss about regular expressions and flow-anomaly detection.
Answer
Sign in to view the complete answer paper.
Write the procedure to count minimum number of paths in a graph.
Answer
Sign in to view the complete answer paper.
What is the procedure for specification validation? Explain.
Answer
Sign in to view the complete answer paper.
What is logic based testing? Explain KV-Chart and draw the KV-chart for 4 variables.
Answer
Sign in to view the complete answer paper.
Explain state testing techniques in detail.
Answer
Sign in to view the complete answer paper.
What are the guidelines used to design state machines? Discuss.
Answer
Sign in to view the complete answer paper.
Explain the node reduction algorithm with an example.
Answer
Sign in to view the complete answer paper.
Discuss about various testing tools necessary for testing.
Answer
Sign in to view the complete answer paper.