Hey Welcome to BTER Rajasthan Polytechnic.
1. Join Groups for PDF's & Regular Updates
Join the community of Civil Engineering students at BTER Polytechnic and stay updated:
- Telegram Channel: Join Telegram Channel 📱
- WhatsApp Group: Join WhatsApp Group 💬
- YouTube Channel: Visit YouTube Channel 🎥
2. Help & Donations 💖
If you find our resources helpful and wish to support our initiative, your donation will help us continue improving and providing valuable study material.
- UPI ID: garimakanwarchauhan@oksbi
- QR Code:
💰 Your support matters! Every contribution helps us reach more students and provide better resources! 🙏
3. Notes Website
- Official Notes Website: Visit Notes Website 📝
This website provides all study materials, notes, and important updates for Civil Engineering students.
4. Important Links
Explore the following links for additional resources and exam preparation:
- Syllabus: Download Syllabus 📚
- Previous Year Papers: View Previous Year Papers 🗂️
- Study Materials: Download Study Materials 📑
UNIT 1: Basics of Software Quality
This unit introduces the basics of Software Quality, software testing, and the process behind ensuring the quality of software applications. Let's break down each topic with simple explanations and diagrams.
1.1 Introduction to Software Quality Basics
Software Quality refers to the degree to which a software product meets the requirements and expectations of the customer. It ensures that the software is free of defects, performs as expected, and satisfies all user needs.
1.1.1 Verification and Validation
-
Verification: Ensures that the software meets the specified requirements. It's like checking whether you built the product correctly.
- Example: If you are building a house, verification checks if the house design matches the architectural plans.
-
Validation: Ensures that the software actually meets the user's needs. It's like checking whether the correct product was built.
- Example: In the house analogy, validation checks if the house meets the homeowner’s needs, such as the number of rooms or whether the design is suitable.
1.1.2 Quality Perspectives
There are different perspectives on software quality depending on the viewpoint. The key perspectives are:
- User Perspective: Focuses on whether the software meets user requirements and expectations (usability, performance).
- Developer Perspective: Focuses on how well the software was built, with emphasis on coding standards, maintainability, and performance.
- Tester Perspective: Focuses on identifying defects or bugs in the software.
- Managerial Perspective: Focuses on delivering the software on time, within budget, and ensuring overall quality.
1.2 Testing Terminology
Here are some key terms in software testing:
- Bug: A defect or error in the software.
- Test Case: A set of conditions under which a tester determines whether a software application works correctly.
- Test Suite: A collection of test cases.
- Test Plan: A detailed document describing the scope, approach, resources, and schedule for testing.
- Regression Testing: Testing that ensures new changes to the code do not affect existing functionality.
1.3 Software Testing Life Cycle (STLC)
The Software Testing Life Cycle (STLC) refers to the various stages in the software testing process. These stages ensure that testing is done systematically and effectively.
Here’s an overview of the stages in STLC:
- Requirement Analysis: Testers analyze the requirements to understand what needs to be tested.
- Test Planning: A test plan is created, including the scope, objectives, resources, and schedule.
- Test Design: Test cases are designed, specifying the inputs, expected results, and test data.
- Test Execution: The tests are run, and results are logged.
- Defect Reporting: Any defects found during execution are reported and tracked.
- Test Closure: The testing process is concluded, and a summary report is created.
Diagram for STLC:
1.4 “V” Model of Testing
The "V" Model is a software development model that emphasizes verification and validation. It is a representation of the software development lifecycle, where the testing phases correspond to each development phase.
- Left side (Development Phases): These phases focus on building the software, such as requirements analysis, design, and coding.
- Right side (Testing Phases): These phases involve testing the software and validating the features built.
Diagram of the V-Model:
- Verification occurs at each stage of the development process (left side).
- Validation occurs after the corresponding development phase (right side).
1.5 QA Process, Cost of Testing, and Types of Tests
QA Process
Quality Assurance (QA) is a proactive process that ensures the quality of software by monitoring and improving the processes used in software development and testing. It includes activities like:
- Process standardization.
- Risk management.
- Continuous improvement.
- Audits and reviews.
Cost of Testing
The cost of testing varies depending on the complexity of the software, the type of testing required, and the testing tools used. However, it’s always cheaper to fix defects early in the development cycle than later.
- Early Testing: Cost is lower, and defects are easier to fix.
- Late Testing: Cost increases as the defects are harder to fix and may affect other parts of the software.
Cost Curve:
Types of Tests
-
Unit Testing: Testing individual components or modules of the software.
- Example: Checking if a login function works correctly by providing different inputs.
-
Integration Testing: Testing the interactions between integrated modules.
- Example: Checking if the login system works well with the database.
-
System Testing: Testing the entire system as a whole to ensure it meets the requirements.
- Example: Verifying that the entire application works under various conditions (user login, data handling, etc.).
-
Acceptance Testing: Verifying the system's readiness for deployment by the end user.
- Example: A client testing the software to see if it meets their expectations before release.
-
Regression Testing: Ensuring new changes don’t break existing functionality.
- Example: After adding a new feature, testing the rest of the application to ensure no old features are broken.
Summary of Topics:
- Software Quality ensures that the product meets user needs and performs correctly.
- Verification and Validation ensure the software is built correctly (verification) and satisfies user needs (validation).
- Testing Terminology defines important terms like bugs, test cases, and test suites.
- Software Testing Life Cycle (STLC) covers the stages of testing, from requirement analysis to test closure.
- The "V" Model of Testing connects each development phase to a corresponding testing phase.
- QA Process focuses on process improvement, while the cost of testing increases with later-stage defect discovery. Different types of tests help ensure software quality at different levels.
📢 🔔 Download PDF & Join Study Groups:
📥 WhatsApp Group: Join Now
📥 Telegram Channel: Join Now
📺 Watch Lecture on YouTube: BTER Polytechnic Classes
📍 Stay connected for more study materials! 🚀
Thank You for Visiting!
We wish you all the best for your studies. Keep learning, and don't hesitate to reach out for help! 📚✨
0 Comments