This repository contains all practical programs of the Software Testing and Validation Lab (STV Lab) with outputs and step-by-step execution. The lab focuses on testing techniques, test case design, coverage analysis, mutation testing, and performance testing using industry tools such as JaButi, JMeter, Jumble, and EclEmma.
The Software Testing and Validation Lab as per the curriculum of Rajasthan Technical University (RTU), is a practical-oriented course designed to provide hands-on experience in software testing methodologies, validation techniques, and quality assurance practices. This lab enhances students' understanding of testing tools and real-world software evaluation.
The primary objective of this lab is to develop practical skills in software testing and validation.
- Understand fundamentals of software testing.
- Design and execute test cases.
- Perform coverage analysis using tools.
- Learn mutation testing techniques.
- Analyze performance of real-world applications.
- Apply testing techniques to Java programs.
The lab covers a wide range of software testing topics including:
- Unit testing and test case design
- Code coverage analysis
- Mutation testing
- Performance testing
- Validation of input/output systems
- Testing using automated tools
- Basic Java Program Testing
- Test Case Design & Coverage Analysis
- Mutation Testing
- Performance Testing using JMeter
- Tool-based Testing (JaButi, Jumble, EclEmma)
- Real-world Website Testing
- Programming Language: Java
- Testing Tools: JaButi, JMeter, Jumble, EclEmma
- Performance Testing Tool: Apache JMeter
- Platform: Windows / Linux
- Development Environment: Eclipse / IntelliJ IDEA
- Java Programs with Test Case Design
- Coverage Analysis using JaButi & EclEmma
- Mutation Testing using Jumble
- Performance Testing using JMeter
- Mini Project on Software Testing
- Assignments: 5%
- Lab Programs & Implementation: 50%
- Midterm Exam: 10%
- Final Exam: 35%
After completing this lab, students will be able to:
- Design effective test cases for software systems
- Perform code coverage analysis
- Apply mutation testing techniques
- Analyze software performance
- Use industry testing tools efficiently
- Ensure software quality and reliability
- Writing Java programs and testing them using JaButi
- Designing test cases and analyzing coverage
- Performing mutation testing using Jumble
- Analyzing performance of websites using JMeter
- Using EclEmma for coverage analysis
- Testing real-world applications
The Software Testing and Validation Lab plays a crucial role in ensuring software quality. It bridges the gap between development and testing, preparing students for roles like QA Engineer, Test Engineer, and Software Developer by providing hands-on experience with modern testing tools and methodologies.
1. a) Write a program that calculates the area and perimeter of a circle and find the test cases & coverage using JaButi.
b) Write a program to read first name and last name from console and match expected results using JaButi.
c) Write a program to solve quadratic equation using coefficients a, b, and c.
d) Write a program to read website URL from file (format: www.example.com) and extract site name. Perform testing using JaButi.
e) Write a calculator program and find test cases, coverage, and Def-use graph.
f) Write a program to compare two passwords and output length of smaller word. Test using JaButi.
2. Analyze the performance of the following websites using Apache JMeter:
- Amazon (Shopping)
- Flipkart (Shopping)
- IRCTC (Ticket Booking)
- eRail (Train Searching)
3. Calculate the mutation score of programs given in Experiment 1 (a–f) using Jumble Tool.
4. Perform coverage analysis of programs given in Experiment 1 (a–f) using EclEmma tool.