What is Quality?
Quality defines to any measurable characteristics such as
correctness, maintainability, portability, testability, usability,
reliability, efficiency, integrity, reusability, and interoperability.
Quality of Design: Quality of Design refers to the characteristics that designers
specify for an item. The grade of materials, tolerances, and performance
specifications that all contribute to the quality of design.
Quality of conformance: Quality of conformance is the degree to which the design
specifications are followed during manufacturing. Greater the degree of
conformance, the higher is the level of quality of conformance.
Software Quality Assurance – Software Engineering
   
   
   
Software Quality Assurance (SQA) is simply a way to assure quality in the software.
It is the set of activities which ensure processes, procedures as well as standards are
suitable for the project and implemented correctly.
Software Quality Assurance is a process which works parallel to development of
software. It focuses on improving the process of development of software so that
problems can be prevented before they become a major issue. Software Quality
Assurance is a kind of Umbrella activity that is applied throughout the software
process.
Generally, the quality of the software is verified by the third-party organization
like international standard organizations.
Elements Of Software Quality Assurance:
       1. Standards: The IEEE, ISO, and other standards organizations have
          produced a broad array of software engineering standards and related
         documents. The job of SQA is to ensure that standards that have been
         adopted are followed, and all work products conform to them.
    2.   Reviews and audits: Technical reviews are a quality control activity
         performed by software engineers for software engineers. Their intent is to
         uncover errors. Audits are a type of review performed by SQA personnel
         (people employed in an organization) with the intent of ensuring that
         quality guidelines are being followed for software engineering work.
    3.   Testing: Software testing is a quality control function that has one primary
         goal—to find errors. The job of SQA is to ensure that testing is properly
         planned and efficiently conducted for primary goal of software.
    4.   Error/defect collection and analysis: SQA collects and analyzes error and
         defect data to better understand how errors are introduced and what
         software engineering activities are best suited to eliminating them.
    5.   Change management: SQA ensures that adequate change management
         practices have been instituted.
    6.   Education: Every software organization wants to improve its software
         engineering practices. A key contributor to improvement is education of
         software engineers, their managers, and other stakeholders. The SQA
         organization takes the lead in software process improvement which is key
         proponent and sponsor of educational programs.
    7.   Security management: SQA ensures that appropriate process and
         technology are used to achieve software security.
    8.   Safety: SQA may be responsible for assessing the impact of software
         failure and for initiating those steps required to reduce risk.
    9.   Risk management: The SQA organization ensures that risk management
         activities are properly conducted and that risk-related contingency plans
         have been established.
Software quality assurance focuses on:
        software’s portability
        software’s usability
        software’s reusability
        software’s correctness
        software’s maintainability
        software’s error control
Major Software Quality Assurance Activities:
    1. SQA Management Plan: Make a plan for how you will carry out the SQA
       throughout the project. Think about which set of software engineering
       activities are the best for project. check level of SQA team skills.
    2. Set The Check Points: SQA team should set checkpoints. Evaluate the
       performance of the project on the basis of collected data on different check
       points.
    3. Measure Change Impact: The changes for making the correction of an
       error sometimes re introduces more errors keep the measure of impact of
       change on project. Reset the new change to check the compatibility of this
       fix with whole project.
      4. Multi testing Strategy: Do not depend on a single testing approach. When
         you have a lot of testing approaches available use them.
      5. Manage Good Relations: In the working environment managing good
         relations with other teams involved in the project development is
         mandatory. Bad relation of SQA team with programmers team will impact
         directly and badly on project. Don’t play politics.
      6. Managing Reports and Records: Document and share QA activities (test
         cases, defects, client changes) for future reference and stakeholder
         alignment.
Benefits of Software Quality Assurance (SQA):
      1.   SQA produces high quality software.
      2.   High quality application saves time and cost.
      3.   SQA is beneficial for better reliability.
      4.   SQA is beneficial in the condition of no maintenance for a long time.
      5.   High quality commercial software increase market share of company.
      6.   Improving the process of creating software.
      7.   Improves the quality of the software.
      8.   It cuts maintenance costs. Get the release right the first time, and your
           company can forget about it and move on to the next big thing. Release a
           product with chronic issues, and your business bogs down in a costly, time-
           consuming, never-ending cycle of repairs.
Disadvantage of SQA:
There are a number of disadvantages of quality assurance. Some of them include
adding more resources, employing more workers to help maintain quality and so much
more.