SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Examination: B.S.I.T (2017) (8th Semester) Q2. Write short answers to the following questions: (5x4=20 Marks) 1- Differentiate “Measure” and “Metric” with example? ANSWER: Measures Measure can be defined as quantitative indication of amount, dimension, capacity, or size of product and process attributes. A measure is established when a number of errors is (single data point) detected in a software component. Product Measures Information about properties of a product (complexity, size,). Identification of critical product parts. Classification and comparison of products Process Measures Information about properties of the software development process (productivity, failure costs,) Control of the proper execution of process steps. Project Measures Planning and tracking of a project The framework for software measurement is based on three principles − Classifying the entities to be examined. Determining relevant measurement goals. Identifying the level of maturity that the organization has reached. Reasons to Measure • To characterize in order to – Gain an understanding of processes, products, resources, and environments – Establish baselines for comparisons with future assessments • To evaluate in order to – Determine status with respect to plans • To predict in order to – Gain understanding of relationships among processes and products – Build models of these relationships • To improve in order to – Identify roadblocks, root causes, inefficiencies, and other opportunities for improving product quality and process performance Metrics Metrics can be defined as quantitative measures that allow software engineers to identify the efficiency and improve the quality of software process, project, and product. Software metric relates individual software measures to provide a normalized view. Metrics are associated with individual measure in some manner. That is, metrics are related to detection of errors found per review or the average number of errors found per unit test. PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 1 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Software metrics can be classified into three categories: Product Metrics Product metrics describe the characteristics of the product such as size, complexity, design features, performance, and quality level. Process Metrics Process metrics can be used to improve software development and maintenance. Project Metrics. Project metric is a measure that allows getting a quantitative value of software features or specifications. Some key points related to Metrics: Software process and project metrics are quantitative measures They are a management tool They offer insight into the effectiveness of the software process and the projects that are conducted using the process as a framework Basic quality and productivity data are collected These data are analyzed, compared against past averages, and assessed The goal is to determine whether quality and productivity improvements have occurred The data can also be used to pinpoint problem areas Remedies can then be developed and the software process can be improved 2- Name the main heads of a “test plan”? ANSWER: A test plan is a document that defines the strategy that will be used to verify that the product or system is developed according to its specifications and requirements. It describes the scope of testing, testing techniques to be used, resources required for testing and the schedule of intended test activities. The scope helps in identifying test items and the features to be tested. A test plan also contains details of who will perform a given task. Heads of Test Plan 1. Preparation of test plan 2. Test Scope management 3. Test Strategy selection 4. Testing criteria management 5. Staffing and Responsibilities identification 6. Resource requirements identification 7. Test deliverables identification 8. Setting up testing tasks 9. Activity breakdown and Scheduling 10. Communication management 11. Risk management PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 2 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 3- Write short notes on defects, errors, faults and failures. (2015,2016) ANSWER: Defect: A defect is an error or a bug, in the application which is created. A programmer while designing and building the software can make mistakes or error. These mistakes or errors mean that there are flaws in the software. These are called defects. A Software DEFECT / BUG is a condition in a software product which does not meet a software requirement (as stated in the requirement specifications) or end-user expectation (which may not be specified but is reasonable). In other words, a defect is an error in coding or logic that causes a program to malfunction or to produce incorrect/unexpected results. Examples: Missing requirement" Specification wrong" Requirement that was infeasible" Faulty system design" Wrong algorithms" Faulty implementation" Error: A human action that produces an incorrect result. The mistakes made by programmer are known as an ‘Error’. This could happen because of the following reasons: • Some confusion in understanding the requirement of the software. • Some miscalculation of the values. • Misinterpretation of any value. Fault: It is a condition that causes a system to fail in performing its required function. It is a state of software caused by an error. Faults are also known colloquially as defaults or bugs. Failure: When a software/product is found unable to perform a required function according to its specification, this kind of scenarios are referred to as failure. It generally occurs when expected behavior does not meet the required behavior. 4- Shortly explain the “Alpha Testing” and “Beta Testing”? ANSWER: Alpha Testing: Alpha testing is also called as off-site testing. During this testing process testing team will verify the application in the presence of the end users within the organizational environment. Alpha testing performed by Testers who are usually internal employees of the organization. Alpha Testing performed at developer's site. Reliability and Security Testing are not performed in-depth Alpha Testing. Alpha testing involves both the white box and black box techniques. Alpha testing requires lab environment or testing environment. Long execution cycle may be required for Alpha testing. Critical issues or fixes can be addressed by developers immediately in Alpha testing. Alpha testing is to ensure the quality of the product before moving to Beta testing. PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 3 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Beta Testing: Beta testing should be done by the end users in their own environment in the presence of releasing team. Beta testing is performed by Clients or End Users who are not employees of the organization. Beta testing is performed at client location or end user of the product. Reliability, Security, Robustness are checked during Beta Testing. Beta Testing typically uses Black Box Testing. Only few weeks of execution are required for Beta testing. Most of the issues or feedback is collected from Beta testing will be implemented in future versions of the product. Beta testing also concentrates on quality of the product, but gathers users input on the product and ensures that the product is ready for real time users. Subjective Questions (Marks 30) Q1: Briefly explain Dromey's Quality Model? ANSWER: Dromey’s Quality model (1995): Dromey’s has built a quality evaluation framework that analyzes the quality of software components through the measurement of tangible quality properties. Each artifact produced in the software life-cycle can be associated with a quality evaluation model. Dromey’s gives the following examples of what he means by software components for each of the different models: • Variables, functions, statements, etc. can be considered components of the Implementation model; • A requirement can be considered a component of the requirements model; • A module can be considered a component of the design model; According to Dromey’s, all these components possess intrinsic properties that can be classified into four categories: • Correctness: Evaluates if some basic principles are violated. • Internal: Measure how well a component has been deployed according to its intended use. • Contextual: Deals with the external influences by and on the use of a component. • Descriptive: Measure the descriptiveness of a component (for example, does it have a meaningful name.) Dromey’s proposes a product based quality model that recognizes that quality evaluation differs for each product and that a more dynamic idea for modeling the process is needed to be wide enough to apply for different systems. PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 4 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Dromey’s is focusing on the relationship between the quality attributes and the sub-attributes, as well as attempting to connect software product properties with software quality attributes. This quality model presented by R. Geoff Dromey’s is most recent model which is also similar to McCall’s and Boehm’s model. Dromey’s proposes a product based quality model that recognizes that quality evaluation differs for each product and that a more dynamic idea for modeling the process is needed to be wide enough to apply for different systems. Dromey’s focuses on the relationship between the quality attributes and the sub attributes, as well as attempts to connect software product properties with software quality attributes. 1) Product properties that influence quality. 2) High level quality attributes. 3) Means of linking the product properties with the quality attributes. Dromey's Quality Model: • Similar to the McCall’s, Boehm’s and the FURPS (+) quality model, • The basic idea is: “quality evaluation differs for each product” Dromey’s quality model: • Software Quality Assurance (SQA) Dromey’s quality model: Dromey's Quality Model is further structured around a 5 step process: 1) Chose a set of high-level quality attributes necessary for the evaluation. 2) List components/modules in your system. 3) Identify quality-carrying properties for the components / modules (qualities of the component that have the most impact on the product properties from the list above). 4) Determine how each property effects the quality attributes. 5) Evaluate the model and identify weaknesses. Figure 1 DQM PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 5 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Q2: Explain “testing principles” in short? ANSWER: Testing shows presence of defects Exhaustive testing is impossible Early testing Defect clustering Pesticide paradox Testing is context dependent Absence of error – fallacy Principle 1: Testing shows that there are defects Present in the software self-explanatory point; it states that when a project is tested, it is checked for possible defects or bugs by creating different software testing strategies. Principle 2: Testing software exhaustively is impossible This means that testing software is not possible exhaustively and instead, testers need optimum time to test an application, which is based on the risk assessment of the same. Principle 3: Testing software early It is imperative to start testing software as early as possible. This ensures that the defects can be captured and fixed within the stipulated time-frame, thereby allowing developers to deliver the software to the clients on time. Principle 4: Clustering the defects Defect Clustering simply state that a small number of modules in an application contains maximum defects detected. Principle 5: The Pesticide Paradox When the same tests are repeated over time and again, then the test cases do not find any new bugs. This situation gives rise to a new principle known as the Pesticide Paradox. However, this can be overcome by reviewing and revising the test cases and adding new and different test cases. Principle 6: Testing is dependent on context This means that when you test a mobile application, it will be on different grounds than while testing a web application. Similarly, testing a Mac application will be different than testing an Android application and the likes. Principle 7: Absence of errors – fallacy This principle merely points out to the fact that finding and fixing defects in a software system is of no use if the system builds in itself is unusable and is unable to meet the users’ needs and requirements. PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 6 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Figure 2:7 Principles of Testing Q3: Write a short note on: A: Review Techniques ANSWER: A review is a systematic examination of a document by one or more people with the main aim of finding and removing errors early in the software development life cycle. Reviews are used to verify documents such as requirements, system designs, code, test plans and test cases. Reviews are usually performed manually while static analysis of the tools is performed using tools. 1. Walkthrough: A walkthrough is conducted by the author of the ‘document under review’ who takes the participants through the document and his or her thought processes, to achieve a common understanding and to gather feedback. This is especially useful if people from outside the software discipline are present, who are not used to, or cannot easily understand software development documents. The content of the document is explained step by step by the author, to reach consensus on changes or to gather information. A walkthrough is especially useful for higher-level documents, such as requirement specifications and architectural documents. The specific goals of a walkthrough are: To present the document to stakeholders both within and outside the software discipline, in order to gather information regarding the topic under documentation. To explain and evaluate the contents of the document. To establish a common understanding of the document. PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 7 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 To examine and discuss the validity of proposed solutions and the possible alternatives. 2. Technical review A technical review is a discussion meeting that focuses on technical content of a document. It is led by a trained moderator, but also can be led by a technical expert. Compared to inspections, technical reviews are less formal and there is little or no focus on defect identification on the basis of referenced documents. The experts that are needed to be present for a technical review can be architects, chief designers and key users. The specific goals of a technical review are: Evaluate the value of technical concepts and alternatives in the product and project environment. Establish consistency in the use and representation of technical concepts. Ensuring at an early stage, that technical concepts are used correctly; Inform participants of the technical content of the document. 3. Inspection Inspection is the most formal review type. It is usually led by a trained moderator (certainly not by the author). The document under inspection is prepared and checked thoroughly by the reviewers before the meeting, comparing the work product with its sources and other referenced documents, and using rules and checklists. Depending on the organization and the objectives of a project, inspections can be balanced to serve a number of goals. The specific goals of an Inspection are: Help the author to improve the quality of the document under inspection. Remove defects efficiently, as early as possible. Improve product quality, by producing documents with a higher level of quality. Create a common understanding by exchanging information among the inspection participants. Recent new/key developments in SQA methods Software validation, verification, and testing Software quality estimation, measurements, and metrics SQA modeling, certification, evaluation, and improvement SQA standards and models SQA case studies Data analysis and risk management PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 8 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 B: ISO 9126 Model ISO standard 9126 quality model The ISO 9126 standard was created by the ISO (the International Organization for Standardization) and IEC (the International Electro Technical Commission). Nowadays software products are used in an increasingly wide variety of application areas, and their correct operation in often critical for business success and/or human safety. Developing or selecting high quality software is therefore of prime importance’s 9126 is an international standard for the evolution of software. ISO 9126 specifies and evaluates the quality of a software product in terms of internal and external software qualities and their connection to attributes. The standard is divided into four parts which address respectively the following subjects: 1. Quality model 2. External metrics 3. Internal metrics 4. Quality in use metrics. ISO 9126 Part-1 is an extension of previous work done by McCall (1977), Boehm (1978), FURPS etc. 1) Quality Model: The quality model presented in the first part of the standard, ISO/IEC 9126-1, classifies software quality in a structured set of characteristics and sub-characteristics as follows: Functionality - "A set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied needs." Reliability - "A set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time." Usability - "A set of attributes that bear on the effort needed for use, and on the individual assessment of such use, by a stated or implied set of users." Efficiency - "A set of attributes that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions." Maintainability - "A set of attributes that bear on the effort needed to make specified modifications." Portability - "A set of attributes that bear on the ability of software to be transferred from one environment to another." 2) Internal Metrics: Internal metrics are those which do not rely on software execution (static measure). 3) External Metrics: External metrics are applicable to running software. 4) Quality-in-use metrics. Quality-in-use metrics are only available when the final product is used in real conditions. Ideally, the internal quality determines the external quality and external quality determines quality in use. PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 9 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Figure 3 ISO9126 PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 10 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Examination: B.S.I.T (2016) (8th Semester) Q2. Write short answers to the following questions: (5x4=20 Marks) 1- Differentiate “Measure” and “Metric” with example? ANSWER: Repeated in Solved Past Paper SQA 2017 Page # 1-2 2- On what basis is the acceptance plan prepared? ANSWER: In any project the acceptance document is normally prepared using the following inputs. This can vary from company to company and from project to project. 1) Requirement document: This document specifies what exactly is needed in the project from the customer’s perspective. 2) Input from customer: This can be discussions, informal talks, emails, etc. 3) Project plan: The project plan prepared by the project manager also serves as good input to finalize your acceptance test. The following diagram shows the most common inputs used to prepare acceptance test plans. Figure 4 Acceptance Test Plan 3- What is the difference between a defect and a failure? ANSWER: Repeated in Solved Past Paper SQA 2017 Page # 3 PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 11 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 4- Differentiate System Testing and Acceptance Testing? ANSWER: Figure 5 Testing Level PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 12 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 5- What is CMMI and what’s the advantages of implementing it in an organization? ANSWER: Capability Maturity Model Integration (CMMI) CMMI is a process improvement approach that provides organizations with the essential elements of effective processes. It can be used to guide process improvement across a project, a division, or an entire organization. CMMI helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes. Advantage of implementing CMMI in an organization: CMMI best practices enable organizations to do the following: More explicitly link management and engineering activities to their business objectives Expand the scope of and visibility into the product lifecycle and engineering activities to ensure that the product or service meets customer expectations Incorporate lessons learned from additional areas of best practices (e.g., measurement, risk management, and supplier management) Implement more robust high-maturity practices Address additional organizational functions critical to their products and services More fully comply with relevant ISO standards Subjective Questions (Marks 30) Q1: Briefly Explain Boehm’s Quality factors and criteria? ANSWER: Boehm model defines the quality of software on the basis of a set of credentials and measurements. It is also elucidating a model of software quality characteristics. The high level of characteristics is made in such a way that answers following questions: As-is utility: How well (easily, reliably, efficiently) can I use it as-is? Maintainability: This aspect decides how convenient it is to understand, change or reevaluate a process. Portability: This aspect helps in deciding an effective way to change an environment. The intermediate level of characteristics represented by the model displays seven quality factors that altogether signify expected quality from a software system. These are as follows: PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 13 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 1. Flexibility: 2. 3. 4. 5. 6. 7. It is very easy to amend the software as per the requirement. Parameters of the software should be so flexible that they can react on numerous situations. Reliability: Software performance should be reliable with zero defects. Result should be accurate. Portability: Software can run on different computer' program example DOS, windows. Efficiency: Practical & efficient use of resources or data collected. Optimum utilization of resources should be made. Testability: Software should be tested easily and as a result user can easily check that the results are correct so that they can rely on result blindly. Understandability: Software should be simple to understand for users so that they can use it properly and efficiently. Usability: Users can apply it easily and comfortably. Figure 6 FACTORS AND CRITERIA Boehm’s Quality Model Similar to the McCall Quality Model Presents a hierarchical quality model structured around High-level characteristics, Intermediate level characteristics, Primitive characteristics PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 14 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Q2: Explain Process Quality and Product Quality? ANSWER: Product Quality: Product quality means to incorporate features that have a capacity to meet consumer needs (wants) and gives customer satisfaction by improving products (goods) and making them free from any deficiencies or defects. There are various important aspects which define a product quality like: Storage Quality of Design Quality of Conformance Reliability Safety Is focusing on meeting tolerances in the end result of the manufacturing activities. The end result is measured on a standard of "good enough". The quality of the end product depends upon: The “attributes “and characteristics of the software product The degree that they fulfill specific project needs To ensure that the product meets a defined quality standard: Standards and practices for s/w product must be defined early in the development process Standards must be specific to software product Dimensions of Product Quality: Performance–main characteristics of the product Aesthetics–appearance, feel, smell, taste Special features– extra characteristics Conformance– how well the product conforms to design specifications Reliability– consistency of performance Durability– the useful life of the product Perceived quality–indirect evaluation of quality Service-ability–handling of complaints or repairs PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 15 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Figure 7 Product Quality Process Quality: Process Quality is defined as all the steps used in the manufacturing the final product. Its focus is on all activities and steps used to achieve a maximum acceptance regardless of its final product. So, there is a big difference between product quality and process quality i.e. even when you follow the process with all quality features it may or may not produce a useful product, on the other hand product quality comprises of all the features required to make it acceptable to your customer and hence solve all the pain points. PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 16 SQA BSIT 8 Semester Solved Past Papers PU Lahore Faizan Mahmood:03418415814 Focuses on each activity and forces the activities to achieve maximum tolerances irrespective of the end result. A Quality Process is the one that leads to the production of high Quality Product, Quality Process = Quality Product To evaluate the process, it has to be made tangible. One way of doing this is to base the process one standard or model against which conformance may be assessed The process evaluation only take account of and is ultimately only as good as, the underlying model or standard used Methodologies/Techniques of Process Quality: There are various methodologies and techniques to control, manage and improve quality. For example: Six Sigma, a project management methodology TQM (Total Quality Management) BPR (Business Process Reengineering) PDCA (Plan-Do-Check-Act) cycle OQM (Object-oriented Quality Management) Figure 8 Quality Process Q3: Write a short note on: A: Review Techniques B: ISO 9126 Model ANSWER: Repeated in Solved Past Paper SQA 2017 Page # 7-8-9 PAPER: Software Quality Assurance Course Code: IT-407 Faizan Mahmood:03418415814 17