UNIT 5: Other Quality Assurance

   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:


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 WebsiteVisit 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:



UNIT 5: Other Quality Assurance

In this unit, we will cover important aspects of Software Quality Assurance (QA), including Quality and Defect Management, Quality Tools, Change Management, and Version Control. These processes play a vital role in ensuring the delivery of high-quality software throughout the Software Development Life Cycle (SDLC).


5.1 Quality and Defect Management - Code Reviews

Quality Management refers to ensuring that the software product meets the required standards and specifications. Defect Management focuses on identifying, tracking, and fixing defects or bugs in the software. Code Reviews are an essential part of this process, ensuring that code is of high quality and free from errors.

Code Reviews:

A code review is a process in which a developer's code is examined by another developer or team members to ensure it meets quality standards. It helps identify potential bugs, improve code quality, and ensure adherence to coding guidelines.

Benefits of Code Reviews:

  • Improves efficiency: Code reviews help improve the quality of the codebase.
  • Early defect identification: Bugs or issues in the code are identified early, reducing the cost of fixing them later.
  • Knowledge sharing: Developers can learn from each other, increasing the overall knowledge of the team.

Code Review Process:

  1. Preparation: The code is prepared for review.
  2. Review: The reviewer checks the code and suggests improvements or identifies defects.
  3. Fixing Issues: If any defects or issues are found, they are fixed by the developer.
  4. Merging: Once the code review is complete, the code is merged into the main codebase.

Example:

  • A developer writes a function for logging in a user. During the code review, another developer spots a potential SQL injection vulnerability and suggests improving the code's security.

5.2 Quality Tools

There are several Quality Tools available that help in testing, automation, monitoring, and managing software quality. These tools help make the software quality process more consistent, accurate, and efficient.

Key Quality Tools:

  1. JIRA: A popular bug tracking and project management tool. It is used by teams to track bugs, stories, and tasks.

    • Example: A developer reports a bug in JIRA, and the testing team tracks it and fixes the issue.
  2. SonarQube: A code quality monitoring tool that detects bugs, security vulnerabilities, and quality issues in the code.

    • Example: SonarQube helps identify parts of the code that need optimization or may contain security flaws.
  3. Jenkins: An automation server that helps in continuous integration (CI) and continuous delivery (CD). It is used to automate the process of testing and deploying code.

    • Example: Jenkins automatically runs test scripts whenever there is a code change and ensures the quality of the software.
  4. TestNG / JUnit: These are testing frameworks used to organize test cases and run automated tests.

    • Example: With TestNG, you can automate tests and receive detailed reports about the test results.
  5. LoadRunner: A performance testing tool used to measure the performance of software under high traffic conditions.

    • Example: LoadRunner can be used to check how many users a website can handle before it crashes.

5.3 Change Management

Change Management is the process of handling changes to software and related systems in a controlled and systematic way. It ensures that any changes made during the software development life cycle (SDLC) do not negatively impact the project and are properly documented.

Change Management Process:

  1. Change Request: A formal request is made for a change, known as a Change Request (CR).
  2. Evaluation: The change request is evaluated to understand its impact on the project's goals, budget, and timelines.
  3. Approval and Prioritization: After evaluation, the change is approved and prioritized based on its necessity.
  4. Implementation: The change is implemented, and its impact is monitored.
  5. Post-Implementation Review: After the change is applied, it is reviewed to ensure that it has the desired effect and does not introduce new issues.

Example:

  • If a new feature needs to be added to the software, a change request is created, evaluated, and approved before the feature is developed and integrated into the project.

5.4 Version Control

Version Control refers to the management of changes to software code or documents, ensuring that different versions of the code are tracked and managed effectively. It helps maintain a record of changes and allows developers to collaborate on the same project without conflicts.

Types of Version Control:

  1. Local Version Control: This is a basic version control system where changes to files are tracked locally on a developer's machine. For example, RCS (Revision Control System).

  2. Centralized Version Control: This system stores the code in a central repository. Developers check out files, make changes, and then check them back into the central system. Examples include CVS (Concurrent Versions System) and Subversion (SVN).

  3. Distributed Version Control: In this system, every developer has a complete copy of the codebase on their machine, allowing them to work offline and then sync their changes with the central repository. Examples include Git and Mercurial.

Git Usage:

  • Git is the most widely used version control system, based on a distributed model. It helps developers manage and track changes across the codebase.
  • GitHub and GitLab are platforms that host Git repositories and provide collaboration tools for developers.

Git Commands:

  • git init: Initialize a new Git repository.
  • git add: Stage files to be committed.
  • git commit: Save changes to the local repository.
  • git push: Push changes to the central repository.
  • git pull: Pull the latest changes from the central repository.

Summary:

  1. Quality and Defect Management: Code reviews are an essential process to improve code quality, identify bugs early, and ensure adherence to coding standards.
  2. Quality Tools: Tools like JIRA, SonarQube, Jenkins, and TestNG help ensure high software quality by automating tests, tracking bugs, and monitoring code health.
  3. Change Management: A controlled process ensures that changes to software are managed systematically to avoid negative impacts on the project.
  4. Version Control: Version control systems like Git help track changes, allow collaboration, and ensure that the software code remains consistent across different development environments.

📢 🔔 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! 📚✨

Post a Comment

0 Comments