 Welcome to the session on software quality assurance, the issues and elements of software quality assurance. At the end of this session, students will be able to describe the background issues and the elements of the software quality assurance. Quality assurance is an essential activity for any business that produces products to be used by the others. Prior to the 20th century, quality assurance was the sole responsibility of the cropped person who built the product. The first formal quality assurance and control function was introduced at the Bell Laboratories in 1916 and spread rapidly throughout the manufacturing world. In the 1940s, the more formal approaches to quality control were suggested, so these relied on the measurement and continuous process improvement as the key elements of the quality management. Today, every company has a mechanism to ensure the quality in its product. In fact, explicit statements of a company concerned for a quality have become a marketing play during the past few decades. The history of quality assurance in software development parallels the history of the quality in hardware manufacturing. In the early days of computing 1950 to 1960s, quality was the sole responsibility of the programmer. Standards for the quality assurance for software were introduced in the military contract software development during the 1970s and have spread rapidly into the software development in the commercial world. Extending the definition presented earlier, software quality assurance is a planned and systematic pattern of actions that are required to ensure a high quality in the software. The scope of quality insurance that responsibility made best it is described by paraphrasing a once popular automobile commercial quality is job number one. The implication for the software is that there are many different the constituency have the software quality assurance responsibility. Software engineers, the project managers, customers, salespeople and the individuals who serve within a software quality assurance group. Software quality assurance activities are the software quality assurance is composed of variety of tasks associated with the two different constituency. The software engineers who do the technical work and software quality assurance group that has the responsibility for quality assurance planning, oversight, record keeping, analysis and reporting. Software engineers addresses the quality and perform the quality assurance and quality control activities by applying a solid technical methods and measures that they conducting the formal technical reviews and performing well planned software testing. Only the reviews are discussed in this chapter and the technology topics are discussed in the other topics. So the software quality assurance group is to assist the software team in achieving a high quality end product. The software engineering institute recommends a set of software quality assurance activities that addresses the software quality assurance plan, Oversights and record keeping, analysis and reporting. So these activities are performed by an independent software quality assurance group. What is the role of a software quality assurance group? Prepare an SQA software quality assurance plan for a project and the plan is developed during the project planning and is reviewed by all interested parties. Quality assurance activities performed by the software engineering teams and the software quality assurance groups are governed by a plan. The plan identifies the evaluations to be performed, edits and review to be performed, the standards that are applicable to the project, procedures for the error, reporting and tracking, documents that to be produced by the software quality assurance group and amounts of feedback that is provided to the software project team. So these are the different that plan by the software quality assurance group. This in the development of the project software process description, the software team that selects a process for the work to be performed, the software quality assurance group that reviews the process description for compliance with the organization policy, the internal software standards, externally imposed standards, for example the ISO 9001 and other parts of the software project plan. Let us discuss the elements of software quality assurance. There are 10 essential the elements of software quality assurance which are enlisted below that is software engineering standards, technical reviews and edits, software testing for quality control, error collection and analysis, changing the change management, educational problems, vendor management, security management, safety, risk management. So these are the essential elements of the software quality assurance. Let us pause the video for a while and answer the question. Software engineering that addresses the quality and performs some quality assurance and the quality control activities by applying, so just filling the blanks. So the answer is the software engineering that addresses the quality by applying the solid technical methods and measures and conducting formal technical reviews and performing a well-planned software testing. Software quality assurance techniques, there are several techniques for the software quality assurance. Editing is the chief technique that is widely adopted, however we have the few other significant techniques as well. There are various software quality assurance techniques includes editing, editing involves the other related information to determine if the set of standard processes were followed or not, reviewing, reviewing a meeting in which the software product reviewing is one of the software quality assurance technique, a meeting in which the software product is examined by both the internal and external stakeholders to seek their comments and the approval. Code inspection, it is the most formal kind of review that does the static testing to find the bugs and to avoid the defect growth in the later stages. It is done by a trained mediator or the peers and is based on the rules, checklist, entry and exit criteria. The reviewer should not be the author of the code. The design inspection, the design inspection that includes the general requirements and the design, functional and interface specifications, conventions, requirement traceability, the structures and interfaces, logic, performance, error handling and recovery, destability and extensibility, coupling and cohesion. So these are the different design techniques. So to improve the software quality assurance, simulation, it is a tool that models the real life situation in order to virtually examine the behavior of the system under the study. And functional testing is a, it is a quality assurance technique which verifies what the system does without considering how it does. So this type of black box testing that mainly focuses on testing the system specification of features. Standardization is a, that plays a crucial role in the quality assurance and it decreases the ambiguity and guesswork. So thus it ensures the quality. Static analysis, it is a software analysis that is done by the automated tool without actually executing the program. So this technique is highly used for the quality assurance in medical, nuclear and aviation softwares, software metrics and reverse engineering or some of the popular forms of the static analysis. Walkthrough and path testing, these are also the type of the software quality assurance techniques. Walkthrough, the software walkthrough or the code walkthrough is a kind of the peer review where the developer guides the members of the development team to go through the product and raise the queries, suggest some alternatives and make comments regarding the possible errors, standard violations or any other issues. Path testing is a white box testing technique where the complete branch coverage is ensured by executing each independent path at least once. So let's pause the video for a while and answer the question. List the various elements of software quality assurance. So these are all the various different kinds of the elements of a software quality assurance. So in this session we discussed about the software quality assurance is an umbrella activity which is employed throughout the software lifecycle. Software quality assurance is very important for your software product or the services to succeed in the market and survive up to the customer's expectation. There are various activities, standards, techniques that you need to follow to assure that the deliverable software is high quality and aligns closely with the business needs. So these are the references that I refer. Thank you.