Advantage of Requirement Traceability Matrix



SNJB's Late Sau. Kantabai Bhavarlalji Jain College of EngineeringDepartment : Computer EngineeringAcademic Year : 2019-20 (Semester I)Mock In-Sem ExamClass : B.E. Marks :30 Date: 9/8/2019 Time :9:30am to 10:30am Time : 1 Hr.Course : Software Testing Qulaity Assurance(STQA)Instructions:1. Mock In Sem Exam based on Unit-I,II and III2. Draw neat and clean diagram3. Assume suitable data if necessaryQ1 A) Explain the concept of Customer's & Supplier's view of Quality with suitable example?4MANS- Quality?is a much more complicated term than it appears.?Customer View of QualityPeople have found many ways to describe quality. Some of the most popular definitions for quality are listed below.A degree of excellenceConformance to requirementsTotality of characteristics which act to satisfy a needFitness for useFitness for purposeFreedom from defectsDelighting customersAll of the above gauges of quality are useful, as they each contain elements of what quality means to users of products and services. However, for quality to be embedded in a product or service there must be a set of measurable performance standards, which when achieved will guarantee the desired level of quality.Measuring Quality:Quality is specification driven – does it meet the set performance requirementsQuality is measured at start of life – percent passing specification acceptanceQuality effectiveness is observable by number of rejects from customersThe quality characteristics of a product or service are known as the ‘Determinants of Quality’. These are the attributes customers look for to decide if it is a quality product or service.Supplier View of QualityIn manufacturing, a measure of excellence or a state of being free from defects, deficiencies and significant variations. It is brought about by strict and consistent commitment to certain standards that achieve uniformity of a product in order to satisfy specific customer or user requirements. ISO 8402-1986 standard defines quality as "the totality of features and characteristics of a product or service that bears its ability to satisfy stated or implied needsIf an automobile company finds a defect in one of their cars and makes a product recall, customer reliability and therefore production will decrease because trust will be lost in the car's quality.Q1 B)Explain the concept of Quality Practices in TQM intend to view Internal & External Customer as well as supplier with suitable example? 6MANS- A core definition of total quality management (TQM) describes a management approach to long-term success through customer satisfaction. In a TQM effort, all members of an organization participate in improving processes, products, services, and the culture in which they work.Internal customers are important from a quality perspective because the quality concept encourages employees to treat their co-workers as though they were external customers or suppliers, thus raising quality awareness within the company.External customers are those who see your company mainly as a provider of something they buy. Internal customers participate in your business by actually being a part of it.Valuing External CustomersWithout external customers, your company would have no revenue and no reason for being in business. You design products and services with the goal of pleasing these customers and meeting their needs. You solicit their opinions via formal surveys and informal conversations, and you may even adopt the customer service adage, "The customer is always right."When your external customers have negative experiences with your business, they may spread unflattering comments via online forums and in person by word of mouth. When they have positive experiences with your staff and your products, they'll give you repeat business.Valuing Internal CustomersThe workplace experience your business gives your workers should be satisfying as well – or else they'll have no reason to work for you, other than the fact that you sign their paychecks. When your business meets employee needs, the employees come to work with positive attitudes and the intention of doing a good job. If you treat your employees badly, your workplace environment will become toxic. Your employees will perform as well as necessary to keep their jobs, but they're unlikely to go the extra mile to do creative work and come through for you in a crisis.(1) the product and service dimension: the degree to which the customer is satisfied with the product or service supplied; (2) the people dimension: the degree to which the customer is satisfied with the relationship with the people in the supplying organizations; (3) the process dimension: the degree to which the supplier is satisfied with the internal work processes, which are used to develop the products and services supplied to the customers.Q2 A)What is the difference between Continual vs. Continuous Improvement Cycle. 4MANS-As continuous improvement and continual improvement belonging to the same family and connected with processes, knowing the difference helps in managing organizational improvements. Here we’ll try to distinguish the differences between continuous and continual.Continuous takes into account successes like 5S and Kaizen and Lean, while continual takes into account processes like PDCA and gives a clear explanation of the differences between the two.Continuous improvement is more of a lean approach to improving processes whereas eliminating waste and non-valued activities. Continuous is an ongoing effort in the development of services, service-related products, products in development and equally the processes established and followed.Continual Improvement?is more about planning and implementing strategic programmes to change the company's products, services, people and processes for the better. Whilst?Continuous Improvement?is related to the constant, daily work practices and staff activities that are relentlously devoted to removing wasted effort and ellimitating defective products, services and processes.Continual Improvement is enabled through the cycles of?P-D-C-A??(Deming's 4 step business management method, Plan-Do-Check-Act), and?D-M-A-I-C?(Six Sigma data-driven process improvement cycle, Define-Measure-Analyse-Improve-Control).Among the most widely used tools for the continuous improvement model is a four-step quality assurance method—the?plan-do-check-act (PDCA) cycle:Plan:?Identify an opportunity and plan for change.Do:?Implement the change on a small scale.Check:?Use data to analyze the results of the change and determine whether it made a difference.Act:?If the change was successful, implement it on a wider scale and continuously assess your results. If the change did not work, begin the cycle again.Other widely used methods of continuous improvement, such as?Six Sigma,?lean, and?total quality management,?emphasize employee involvement and teamwork, work to measure and systematize processes, and reduce variation, defects, and cycle times.They may sound equal, but there a difference between continuous improvement and continual improvement.? Continual improvement is a concept initially to make changes and improvements in the existing systems to produce better outcomes.? Continuous improvement is simply a chain link to continual improvement, which focuses more on, processes with short/small improvements within a system.? Both terms concepts are concerned for improving the processes on how and what effects quality that doesn’t cause interference with productivity within the organization.?Q2 B)Explain the concept of Benchmarking & Metrics with reference of Product Quality with suitable example.6MANS-Benchmarking?is the practice of comparing business processes and?performance metrics?to industry bests and?best practices?from other companies. Dimensions typically measured are quality, time and cost.Benchmarking is used to measure performance using a specific?indicator?(cost per unit of measure, productivity per unit of measure, cycle time of x per unit of measure or defects per unit of measure) resulting in a metric of performance that is then compared to others.[1]Also referred to as "best practice benchmarking" or "process benchmarking", this process is used in management in which organizations evaluate various aspects of their processes in relation to best-practice companies' processes, usually within a peer group defined for the purposes of comparison. This then allows organizations to develop plans on how to make improvements or adapt specific best practices, usually with the aim of increasing some aspect of performance. Benchmarking may be a one-off event, but is often treated as a continuous process in which organizations continually seek to improve their practices.In?project management?benchmarking can also support the selection, planning and delivery of projects.In the process of best practice benchmarking, management identifies the best firms in their industry, or in another industry where similar processes exist, and compares the results and processes of those studied (the "targets") to one's own results and processes.The 12 stage methodology consists of:Select subjectDefine the processIdentify potential partnersIdentify data sourcesCollect data and select all partnersDetermine the gapEstablish process differencesTarget future performanceCommunicateAdjust goalImplementReview and recalibrateA software metric is a measure of software characteristics which are measurable or countable. Software metrics are valuable for many reasons, including measuring software performance, planning work items, measuring productivity, and many other uses.Within the software development process, many metrics are that are all connected. Software metrics are similar to the four functions of management: Planning, Organization, Control, or Improvement.Classification of Software MetricsSoftware metrics can be classified into two types as follows:1. Product Metrics:?These are the measures of various characteristics of the software product. The two important software characteristics are:Size and complexity of software.Quality and reliability of software.These metrics can be computed for different stages of SDLC.2. Process Metrics:?These are the measures of various characteristics of the software development process. For example, the efficiency of fault detection. They are used to measure the characteristics of methods, techniques, and tools that are used for developing software.Types of MetricsInternal metrics:?Internal metrics are the metrics used for measuring properties that are viewed to be of greater importance to a software developer. For example, Lines of Code (LOC) measure.External metrics:?External metrics are the metrics used for measuring properties that are viewed to be of greater importance to the user, e.g., portability, reliability, functionality, usability, etc.Hybrid metrics:?Hybrid metrics are the metrics that combine product, process, and resource metrics. For example, cost per FP where FP stands for Function Point Metric.Project metrics:?Project metrics are the metrics used by the project manager to check the project's progress. Data from the past projects are used to collect various metrics, like time and cost; these estimates are used as a base of new software. Note that as the project proceeds, the project manager will check its progress from time-to-time and will compare the effort, cost, and time with the original effort, cost and time. Also understand that these metrics are used to decrease the development costs, time efforts and risks. The project quality can also be improved. As quality improves, the number of errors and time, as well as cost required, is also reduced.Advantage of Software MetricsComparative study of various design methodology of software systems.For analysis, comparison, and critical study of different programming language concerning their characteristics.In comparing and evaluating the capabilities and productivity of people involved in software development.In the preparation of software quality specifications.In the verification of compliance of software systems requirements and specifications.In making inference about the effort to be put in the design and development of the software systems.In getting an idea about the complexity of the code.In taking decisions regarding further division of a complex module is to be done or not.In guiding resource manager for their proper utilization.In comparison and making design tradeoffs between software development and maintenance cost.In providing feedback to software managers about the progress and quality during various phases of the software development life cycle.In the allocation of testing resources for testing the code.Q3 A)What is the difference between Verification vs Validation w.r.t to Quality Process & Quality Product4MANS- What is Verification?Definition?: The process of evaluating software to determine?whether the products of a given development phase satisfy the conditions imposed at the start of that phase.Verification is a static practice of verifying documents, design, code and program. It includes all the activities associated with producing high quality software: inspection, design analysis and specification analysis. It is a relatively objective?process.Verification will help to determine whether the software is of high quality, but it will not ensure that the system is useful. Verification is concerned with whether the system is well-engineered and error-free.Methods of Verification :? Static TestingWalkthroughInspectionReviewWhat is?Validation?Definition: The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.Validation is the process of evaluating the final product to check whether the software meets the customer expectations and requirements. It is a dynamic mechanism of validating and testing the actual product.Methods of?Validation :?Dynamic TestingTestingEnd Users?????????????Verification?????????????Validation1.?Verification?is a static practice of verifying documents, design, code and program.1.?Validation?is a dynamic mechanism of validating and testing the actual product.2.?It does not involve executing the code.2. It always involves executing the code.3.?It is human based checking of documents and files.3.?It is computer based execution of program.4.?Verification?uses methods like inspections, reviews, walkthroughs, and Desk-checking etc.4.?Validation?uses methods like black box (functional)? testing, gray box testing, and white box (structural) testing etc.5.?Verification?is to check whether the software conforms to specifications.5.?Validation?is to check whether software meets the customer expectations and requirements.6.?It can catch errors that validation cannot catch. It is low level exercise.6.?It can catch errors that verification cannot catch. It is High Level Exercise.7.?Target is requirements specification, application and software architecture, high level, complete design, and database design etc.7.?Target is actual product-a unit, a module, a bent of integrated modules, and effective final product.8.?Verification?is done by QA team to ensure that the software is as per the specifications in the SRS document.8.?Validation?is carried out with the involvement of testing team.9. It generally comes first-done before validation.9.?It generally follows after?verification.Q3 B)Create Requirement Traceability Matrix Document for Login and Logout Module. also explain advantage of Requirement Traceability Matrix 6MANS-A Traceability Matrix is a document that co-relates any two-baseline documents that require a many-to-many relationship to check the completeness of the relationship.It is used to track the requirements and to check the current project requirements are met.Requirement Traceability Matrix or RTM captures all requirements proposed by the client or software development team and their traceability in a single document delivered at the conclusion of the life-cycle.Parameters to include in Requirement Traceability Matrix?Requirement IDRequirement Type and DescriptionTest Cases with StatusExample- Login ModuleAs illustrated above, a requirement traceability matrix can:Show the requirement coverage in the number of test casesDesign status as well as execution status for the specific test caseIf there is any User Acceptance test to be done by the users, then UAT status can also be captured in the same matrix.The related defects and the current state can also be mentioned in the same matrix.Step 1:?Our?sample Test Case?is"Verify Login, when correct ID and Password is entered, it should log in successfully"Step 2: Identify the Technical Requirement that this test case is verifying. For our test case, the technical requirement is T94 is being verified.?Step 3:?Note this Technical Requirement (T94) in the Test Case.Step 4:?Identify the Business Requirement for which this TR (Technical Requirement-T94) is definedStep 5:?Note the BR (Business Requirement) in Test CaseStep 6:?Do above for all Test Cases. Later Extract the First 3 Columns from your Test Suite. RTM in testing is Ready!Advantage of Requirement Traceability MatrixIt confirms 100% test coverageIt highlights any requirements missing or document inconsistenciesIt shows the overall defects or execution status with a focus on business requirementsIt helps in analyzing or estimating the impact on the QA team's work with respect to revisiting or re-working on the test casesQ4 A)What is the difference between Error vs Defect w.r.t to Software 4MANS-Testing is the process of identifying defects, where a?defect?is any variance between actual and expected result?. “A?mistake?in code is called?Error .”Error found by tester is called defect?,?Defect accepted by development team is called?Bug. And?build does not meet the requirements then it is?Failure.What is Error ?An?error?is a mistake, misconception, or misunderstanding on the part of a software developer. In the category of developer we include software engineers, programmers, analysts, and testers.For example, a developer may misunderstand a de-sign notation, or a programmer might type a variable name incorrectly — leads to an Error. It is the one which is generated because of wrong login, loop or due to syntax. Error normally arises in software; it leads to change the functionality of the program.What is Defect in software testing?As we discuss above firstly that?Defect?is a?variance between expected results and?actual results?of execution of test case on the system.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 Bug is the result of a coding Error and A Defect is a deviation from the Requirements. A defect does not necessarily mean there is a bug in the code, it could be a function that was not implemented but defined in the requirements of the software.Q4 B)Create Requirement Traceability Matrix Document for writing emails option should be available. also explain advantage of Requirement Traceability Matrix6MANS-A Traceability Matrix is a document that co-relates any two-baseline documents that require a many-to-many relationship to check the completeness of the relationship.It is used to track the requirements and to check the current project requirements are met.Examples of RTM#1) Business Requirement:BR1: Writing emails option should be available.Test Scenario(technical specification) for BR1TS1: Compose mail option is provided.Test Cases:Test Case 1?(TS1.TC1): Compose mail option is enabled and works successfully.Test Case 2?(TS1.TC2): Compose mail option is disabled.#2) Defects:After executing the test cases if any defects are found that too can be listed and mapped with the business requirements, test scenarios and test cases.Example:?If TS1.TC1 fails i.e. Compose mail option though enabled does not work properly then a defect can be logged. Suppose the defect ID auto-generated or manually assigned number is D01, then this can be mapped with BR1, TS1, and TS1.TC1 numbers.Thus all requirements can be represented in a table format.Business Requirement #Test Scenario #Test Case #Defects #BR1TS1TS1.TC1TS1.TC2D01BR2TS2TS2.TC1TS2,TC2TS2.TC3D02D03BR3TS3TS1.TC1TS2.TC1TS3.TC1TS3.TC2NILAdvantage of Requirement Traceability MatrixIt confirms 100% test coverageIt highlights any requirements missing or document inconsistenciesIt shows the overall defects or execution status with a focus on business requirementsIt helps in analyzing or estimating the impact on the QA team's work with respect to revisiting or re-working on the test casesQ5 A)Apply Junit Automation tool for above java code and write down test cases for same. 4M public static void main(String args[]) { MySimpleMath sm = new MySimpleMath(); // Check a positive System.out.println(""Input 10: "" + sm.checkSign(10)); // Check a negative System.out.println(""Input -2: "" + sm.checkSign(-2)); // Check a positive System.out.println(""Input 0: "" + sm.checkSign(0)); } ANS- Dynamic?verification that the program has the?expected behavior in a suitably?selected?final?set of test casesUnit testingIntegration testingSystem testingUnit testing?definitionUnit testing is a method of testing individual units of source code to determine if they are fit for useUnit tests are the smallest testable parts of an applicationIs performed at the development phase of a software’s life cycleDetects problems early in the development processUnit tests should be independent from one otherSimplifies IntegrationNot suitable for testing user interface componentspackage test.main;import org.junit.*;import main.java.MySimpleMath;public class MySimpleMathTest { @Test public void testCheckSignShouldReturnPositive() { MySimpleMath sm = new MySimpleMath(); Assert.assertEquals("positive", sm.checkSign(5)); Assert.assertEquals("positive", sm.checkSign(0)); } @Test public void testCheckSignShouldReturnNegative() { MySimpleMath sm = new MySimpleMath(); Assert.assertEquals("negative", sm.checkSign(-5)); } } Q5 B)1. When you put the expected number of users against the application and see if it works which type of testing should Apply? 2. When you put an increasing number of users as load and see where it fails. which type of testing should Apply? 3. When you put a varying number of users as load, measure performance, and re-engineer the application to improve response times. which type of testing should Apply? 6 MANS- 1. Load testing2. Stress testing3. Performance TestingQ6 A) Apply Junit Automation tool for above java code and write down test cases for same. 4M public void multiply(int[] array, int factor) { if(!(array.length > 0)) { throw new IllegalArgumentException(""Input array is empty""); } for( int i=0; i<array.length; i++ ) { array[i] = array[i] * factor; }"Ans- package test.main;import org.junit.*;import static org.junit.Assert.*;import main.java.MySimpleArrayOperations;public class MySimpleArrayOperationsTest { @Testpublic void testMultiply() { MySimpleArrayOperations msao = new MySimpleArrayOperations(); int[] array = {10, 2, 3, 10, 1, 0, 2, 3, 16, 0, 2}; msao.multiply(array, 10); assertArrayEquals(new int[]{100, 20, 30, 100, 10, 0, 20, 30, 160, 0, 20}, array); } @Test (expected = IllegalArgumentException.class) public void testMultiplyShouldThrowException() { MySimpleArrayOperations msao = new MySimpleArrayOperations(); msao.multiply(new int[]{}, 0); //method call with dummy arguments } }Q6 B)1.When testing password forms to see if they can be broken by brute force attacks, dictionary attacks, etc. which type of testing should Apply? 2. When test web page or application works on different web browsers. which type of testing should Apply? 3. When test the functionality from a user’s perspective. Sometimes the internal functions of the system work correctly but the user interface doesn’t let a user perform the actions. which type of testing should Apply? 6MAns- Security TestingCompatibility TestingInterface Testing.****************************************** THE END ******************************************** ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download