Dhomaseghanshyam.files.wordpress.com



SNJB’S Late Sau.K.B. Jain College Of Engineering, Chandwad

[5670]-706

BE Computer Engineering

Software Testing Quality Assurance [End SEM Nov 2019]

Q-1 what is Software Quality? What is mean by Quality Attribute of Software? Explain continual improvement cycle with neat labeled diagram of Plan-Do-Check-Act(PDCA) framework? [3+3=6]

Ans- TQM processes are often divided into the four sequential categories: plan, do, check, and act.

Here's an example of how PDCA is broken down in TQM.

Plan: Define the problem to be addressed, collect relevant data, and ascertain the problem's root cause.

Do: Develop and implement a solution; decide upon a measurement to gauge its effectiveness.

Check: Confirm the results through before-and-after data comparison.

Act: Document the results, inform others about process changes, and make recommendations for the problem to be addressed in the next PDCA cycle.

The PDCA model was the basic structure for the district’s:

• Overall strategic planning

• Needs analysis

• Curriculum design and delivery

• Staff goal-setting and evaluation

• Provision of student services and support services

[pic]

Q-2 a) what is impact of defect in different phases of software development? [3+3=6]

Ans-

Software Defects/ Bugs are normally classified as per:

• Severity / Impact (See Defect Severity)

• Probability / Visibility (See Defect Probability)

• Priority / Urgency (See Defect Priority)

• Related Dimension of Quality (See Dimensions of Quality)

• Related Module / Component

• Phase Detected

• Phase Injected

Related Module /Component

Related Module / Component indicates the module or component of the software where the defect was detected. This provides information on which module / component is buggy or risky.

• Module/Component A

• Module/Component B

• Module/Component C

• …

Phase Detected

Phase Detected indicates the phase in the software development lifecycle where the defect was identified.

• Unit Testing

• Integration Testing

• System Testing

• Acceptance Testing

Phase Injected

Phase Injected indicates the phase in the software development lifecycle where the bug was introduced. Phase Injected is always earlier in the software development lifecycle than the Phase Detected. Phase Injected can be known only after a proper root-cause analysis of the bug.

• Requirements Development

• High Level Design

• Detailed Design

• Coding

• Build/Deployment

When a Test Case is executed and the expected result is not met, the Tester or the Test Lead usually opens up a bug.  At that point it will be worked by a number of individuals. The project manager may get involved, perhaps a business analyst and almost assuredly a Developer.  However, on occasion it may turn out that it was not a bug after all, but simply a poorly written or misinterpreted Test Case. This results in one of my biggest “pet peeves”, which is the cancellation of the bug. Tracking down bugs that aren’t really bugs is a waste of time and can be demoralizing and frustrating to the team. Of course, one cannot forget the refactoring of the incorrect Test Case as additional re-work as well.

b) What is bug tracking, bug fixing & bug verification?

Ans- A bug tracking system or defect tracking system is a software application that keeps track of reported software bugs in software development projects. It may be regarded as a type of issue tracking system.

Many bug tracking systems, such as those used by most open-source software projects, allow end-users to enter bug reports directly. Other systems are used only internally in a company or organization doing software development. Typically bug tracking systems are integrated with other project management software.

A bug tracking system is usually a necessary component of a good software development infrastructure, and consistent use of a bug or issue tracking system is considered one of the "hallmarks of a good software team.

Bug Fix Verification is a process of verifying if the bug was fixed or not. SO At first a tester re-tests application and then checks whether new bugs appeared after the previous bug was fixed.

A bug fix is a change to a system or product designed to handle a programming bug/glitch. Many different types of programming bugs that create errors with system implementation may require specific bug fixes that are successfully resolved by a development or other IT team.

Bug Fix Verification (BFV) is the ability to confirm that you have have fixed the bugs that were discovered by the uTest community. This is done by allowing your PMs to invite any tester with matching devices/environments to verify bugs within the existing test cycle. Alternately, a standalone test cycle can be created and the original tester who submitted the bug will re-test. A second tester will verify if the bug you fixed was resolved.  Applause has fairly quick turnaround times for this, they can be done at any time, and the customer app has options to manage the BFV automatically.

Q-3 a) What is mutation testing? Give an Example? [3+4=7]

Ans- Mutation Testing is a type of Software Testing that is performed to design new software tests and also evaluate the quality of already existing software tests. Mutation testing is related to modification a program in small ways. It focuses to help the tester develop effective tests or locate weaknesses in the test data used for the program.

[pic]

Mutation Testing is a White Box Testing.

Mutation testing can be applied to design models, specifications, databases, tests, and XML. It is a structural testing technique, which uses the structure of the code to guide the testing process. It can be described as the process of rewriting the source code in small ways in order to remove the redundancies in the source code.

Objective of Mutation Testing:

The objective of mutation testing is:

• To identify pieces of code that are not tested properly.

• To identify hidden defects that can’t be detected using other testing methods.

• To discover new kinds of errors or bugs.

• To calculate the mutation score.

• To study error propagation and state infection in the program.

• To assess the quality of the test cases.

Types of Mutation Testing: 1. Value Mutations 2. Decision Mutations 3. Statement Mutations

b) What is white box testing and black box testing? what are the different methods for white box and black box? Explain any one methods of each in detail.?

Ans-Black-box testing, a tester doesn't have any information about the internal working of the software system. Black box testing is a high level of testing that focuses on the behavior of the software. It involves testing from an external or end-user perspective. Black box testing can be applied to virtually every level of software testing: unit, integration, system, and acceptance.

White-box testing is a testing technique which checks the internal functioning of the system. In this method, testing is based on coverage of code statements, branches, paths or conditions. White-Box testing is considered as low-level testing. It is also called glass box, transparent box, clear box or code base testing. The white-box Testing method assumes that the path of the logic in a unit or program is known.

• Unit Testing: It is often the first type of testing done on an application. Unit Testing is performed on each unit or block of code as it is developed. Unit Testing is essentially done by the programmer. As a software developer, you develop a few lines of code, a single function or an object and test it to make sure it works before continuing Unit Testing helps identify a majority of bugs, early in the software development lifecycle. Bugs identified in this stage are cheaper and easy to fix.

• Testing for Memory Leaks: Memory leaks are leading causes of slower running applications. A QA specialist who is experienced at detecting memory leaks is essential in cases where you have a slow running software application.

Following are the prominent Test Strategy amongst the many used in Black box Testing

• Equivalence Class Testing: It is used to minimize the number of possible test cases to an optimum level while maintains reasonable test coverage.

• Boundary Value Testing: Boundary value testing is focused on the values at boundaries. This technique determines whether a certain range of values are acceptable by the system or not. It is very useful in reducing the number of test cases. It is most suitable for the systems where an input is within certain ranges.

• Decision Table Testing: A decision table puts causes and their effects in a matrix. There is a unique combination in each column.

Q-4 What is traceability matrix? Explain requirement traceability matrix with example List advantages of requirement traceability matrix. [3+4=7]

Ans- 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 (RTM) is a document that maps and traces user requirement with test cases. It captures all requirements proposed by the client and requirement traceability in a single document, delivered at the conclusion of the Software development life cycle. The main purpose of Requirement Traceability Matrix is to validate that all requirements are checked via test cases such that no functionality is unchecked during Software testing.

Which Parameters to include in Requirement Traceability Matrix?

• Requirement ID

• Requirement Type and Description

• Test Cases with Status

[pic]

As illustrated above, a requirement traceability matrix can:

• Show the requirement coverage in the number of test cases & Design status as well as execution status for the specific test case

• If 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.

[pic]

Types of Traceability Test Matrix

In Software Engineering, traceability matrix can be divided into three major component as mentioned below:

• Forward traceability: This matrix is used to check whether the project progresses in the desired direction and for the right product. It makes sure that each requirement is applied to the product and that each requirement is tested thoroughly. It maps requirements to test cases.

• Backward or reverse traceability: It is used to ensure whether the current product remains on the right track. The purpose behind this type of traceability is to verify that we are not expanding the scope of the project by adding code, design elements, test or other work that is not specified in the requirements. It maps test cases to requirements.

• Bi-directional traceability ( Forward+Backward): This traceability matrix ensures that all requirements are covered by test cases. It analyzes the impact of a change in requirements affected by the Defect in a work product and vice versa.  

• Here the scenario is that the customer should be able to login to Guru99 banking website with the correct password and user#id while manager should be able to login to the website through customer login page.

[pic]

Q-5 a) what are the selection criteria of automated testing tool? [3+4=7]

Ans- Test Automation Tool Evaluation Criteria

1) Do you have the necessary skilled resource to allocate for automation tasks?

2) What is your budget?

3) Does the tool satisfy your testing needs? Is it suitable for the project environment and technology you are using? Does it support all tools and objects used in the code? Sometime you may get stuck for small tests due to inabilities of the tool to identify the objects used in the application.

I consider above three factors as most important for selecting any tool.

4) Does the tool provide you the free trial version so that you can evaluate it before making a decision? Also, does the tool have all features available in the trial version?

5) Is the current tool version stable? Is the vendor company established with good customer support as well as online help resources and user manual?

6) How is the tool learning curve? Is the learning time acceptable for your goals?

7) Do you want automation tool for only your project needs or you are looking for a common tool for all projects in your company? It would be a good choice if you select a tool that supports most of the coding languages on your projects.

8 ) Which testing types does it support? A tool which supports maximum testing types (Unit, functional, regression etc.) is always a better choice. Warning – Don’t go for a tool just because it is supporting all testing types. It’s also important that the tool should be powerful enough to automate your complex requirements.

9) Does the tool support easy interface to create and maintain test scripts? Record and playback tool with abilities to edit recorded scripts could be a good solution.

10)  Does it provide simple interface yet powerful features to accomplish complex tasks?

11)  How easy is it to provide input test data for complex or load tests? A tool supporting test data input from various data files such as Excel, XML, text file etc. would be a big relief for the automation the testers.

12)  Does it provide the powerful reporting with graphical interface? Clear and concise reports will always help you to conclude the test results quickly.

13)  Does it integrate well with your other testing tools like project planning and test management tools?

You may also want to consider other criteria like:

14)  Tool vendor refund policy

15)  Existing customer reviews for the tool

16)  Is the vendor providing initial training?

b) What are the difference in testing automation in agile and waterfall model?

Ans- Waterfall Model methodology which is also known as Liner Sequential Life Cycle Model. Waterfall Model followed in the sequential order, and so project development team only moves to next phase of development or testing if the previous step completed successfully.

Agile methodology is a practice that helps continuous iteration of development and testing in the software development process. In this model, development and testing activities are concurrent, unlike the Waterfall model. This process allows more communication between customers, developers, managers, and testers.

[pic]

Advantages of Waterfall Model:

• It is one the easiest model to manage. Because of its nature, each phase has specific deliverables and a review process.

• It works well for smaller size projects where requirements are easily understandable.

• Faster delivery of the project

• Process and results are well documented.

• Easily adaptable method for shifting teams

• This project management methodology is beneficial to manage dependencies.

Advantages of the Agile Model:

• It is focused client process. So, it makes sure that the client is continuously involved during every stage.

• Agile teams are extremely motivated and self-organized so it likely to provide a better result from the development projects.

• Agile software development method assures that quality of the development is maintained

• The process is completely based on the incremental progress. Therefore, the client and team know exactly what is complete and what is not. This reduces risk in the development process.

Q-6 a) Discuss “Automation in extreme programming” [3+4=7]

Ans- Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.

When it to Apply-

• Dynamically changing software requirements

• Risks caused by fixed time projects using new technology

• Small, co-located extended development team

• The technology you are using allows for automated unit and functional tests

Extreme programming is one of the Agile methods. It is different as it is

• Lightweight

• Reduces risk

• Efficient

• Supple,

• Anticipated

• Easy

& most importantly, it’s an exciting and fun way to develop software.

1. Fine-scale Feedback − 

• Testing:

• What it is – This includes all types of testing

• Unit testing

• First design testing

• Various kinds of Automated testing

• Advantages:

• Firstly, Unit testing is the final testing before user testing. It indicates that no further design or coding is required.

• Secondly, refactoring of the code happens using the results of Unit testing. It will reduce the work as the code gets re-used again.

• Thirdly, the unit testing indicates that the design is clear, and no further modifications are required. Therefore, the developer gets to know his goals as per the design and knows what he has to develop.

• Moreover, automation gives a series of regression tests that confirm that the tested feature/function is working fine, and there is no adverse effect of it.

b) What are some of the challenges in automating the testing Of GUI portion of an application? How do these compare with the automation of back-end testing?

Ans- Due to the growing complexity of the software, it is impossible to automate GUI applications for 100%. But if we overcome some challenges at least we can automate it for 80%. Multiple challenges in GUI test automations are: Application window name is dynamically Changing.

( Controls which don‟t have proper and unique text property. (E.g. Text and Combo box) Mixed up of Managed and Unmanaged UI controls.

( Applications developed in multiple languages and multiple OS. Customized controls and Owner draw controls.

( Applications that are using third party controls like source grid control. Class names are dynamically changing.

( Control names are dynamically changing.

( Controls which don‟t have proper Z order.

( More visual controls.

( Support for Win32 Controls.

( Synchronization issue between tool and Device under Test.

Backend testing is nothing but server side or Database Testing. The data entered in the front end will be stored in the back-end database. The database may be SQL Server, MySQL, Oracle, DB2, etc. The data will be organized in the tables as record, and it is used to support the content of the page.

Back end testing is gaining more and more importance as we have apps / websites with many interconnected components and storing more n more data. Obviously there is a need to validate the API's we are using and to test the correctness of the data being stored.

The Scope of Backend Testing involves testing of three main components:

• API - The Web Services API that forms the backbone of the application and the intermediary between the Front End UI and Database. This is done by tools such as PostMan, REST Assured, SOAP UI e.t.c

• Database - The Database where the majority of the persistent data for the website is stored.

• Server - The actual hardware resource where the Website is actually located.

All of the above can be tested using the open source tool - Apache JMeter.

Q-7 a) What is selenium? What are different features of Selenium IDE? [6+5+5=16]

Ans- Selenium is an open source and portable Web testing Framework.

Selenium is an automation testing tool used to test web-based applications. It is one of the most popular automation tool available in the market, and there is no other tool which provides as many features and functionalities as selenium do.

Some of the reason it became famous includes – being open source, support for multiple browsers, support for multiple languages, support for multiple platforms, easy to integrate with Testing frameworks and much more.

This tool can be integrated with other tools like TestNG (Testing Framework), AutoIT, Skiuli, etc. Selenium tutorials QA Tech Hub will help you develop an in-depth understanding of the concept.

o Selenium IDE provides a playback and record feature for authoring tests without the need to learn a test scripting language.

o It can be considered as the leading cloud-based testing platform which helps testers to record their actions and export them as a reusable script with a simple-to-understand and easy-to-use interface.

o Selenium supports various operating systems, browsers and programming languages. Following is the list:

o Programming Languages: C#, Java, Python, PHP, Ruby, Perl, and JavaScript

o Operating Systems: Android, iOS, Windows, Linux, Mac, Solaris.

o Browsers: Google Chrome, Mozilla Firefox, Internet Explorer, Edge, Opera, Safari, etc.

o It also supports parallel test execution which reduces time and increases the efficiency of tests.

o Selenium can be integrated with frameworks like Ant and Maven for source code compilation.

o Selenium can also be integrated with testing frameworks like TestNG for application testing and generating reports.

o Selenium requires fewer resources as compared to other automation test tools.

o WebDriver API has been indulged in selenium whichis one of the most important modifications done to selenium.

o Selenium web driver does not require server installation, test scripts interact directly with the browser.

o Selenium commands are categorized in terms of different classes which make it easier to understand and implement.

o Selenium Remote Control (RC) in conjunction with WebDriver API is known as Selenium 2.0. This version was built to support the vibrant web pages and Ajax.

Selenium IDE is divided into different components, each having their own features and functionalities.We have categorized seven different components of Selenium IDE, which includes:

1. Menu Bar

2. Tool Bar

3. Address Bar

4. Test Case Pane

5. Test Script Editor Box

6. Start/Stop Recording Button

7. Log, Reference Pane

[pic] 

b) What is selenium web driver? What are the selenium web drives having differences with RC?

Ans- WebDriver is a web automation framework that allows you to execute your tests against different browsers, not just Firefox, Chrome (unlike Selenium IDE).

WebDriver also enables you to use a programming language in creating your test scripts (not possible in Selenium IDE).

You can now use conditional operations like if-then-else or switch-case. You can also perform looping like do-while.

Selenium WebDriver is a collection of open source APIs which are used to automate the testing of a web application. Selenium WebDriver tool is used to automate web application testing to verify that it works as expected. It supports many browsers such as Firefox, Chrome, IE, and Safari. However, using the Selenium WebDriver, we can automate testing for web applications only. It does not qualify for window-based applications. It also supports different programming languages such as C#, Java, Perl, PHP and Ruby for writing test scripts. Selenium Webdriver is platform-independent since the same code can be used on different Operating Systems like Microsoft Windows, Apple OS and Linux. It is one of the components of the selenium family, which also includes Selenium IDE, Selenium Client API, Selenium Remote Control and Selenium Grid.

 Selenium WebDriver does not handle window component, but this limitation can be overcome by using external tools such as AUTO IT tool, Sikuli etc. It has different location strategies as well such as ID, Name, Link text, Partial link text, Class name, CSS selector and Xpath. It also has better support dynamic web pages like Ajax, where elements of the web page may change without the page itself being reloaded. By using different jar files, we can also test API, Database Test etc. using Selenium WebDriver

Difference between Selenium RC and Webdriver

Before the advent of WebDriver in  2006, there was another, automation tool called Selenium Remote Control. Both WebDriver and Selenium RC have following features:

• They both allow you to use a programming language in designing your test scripts.

• They both allow you to run your tests against different browsers.

So how do they differ? Let us discuss the answers.

1. Architecture

WebDriver's architecture is simpler than Selenium RC's.

• It controls the browser from the OS level

• All you need are your programming language's IDE (which contains your Selenium commands) and a browser.

Selenium RC's architecture is way more complicated.

• You first need to launch a separate application called Selenium Remote Control (RC) Server before you can start testing

• The Selenium RC Server acts as a "middleman" between your Selenium commands and your browser

• When you begin testing, Selenium RC Server "injects" a Javascript program called Selenium Core into the browser.

• Once injected, Selenium Core will start receiving instructions relayed by the RC Server from your test program.

• When the instructions are received, Selenium Core will execute them as Javascript commands.

• The browser will obey the instructions of Selenium Core and will relay its response to the RC Server.

• The RC Server will receive the response of the browser and then display the results to you.

• RC Server will fetch the next instruction from your test script to repeat the whole cycle.

2. Speed- WebDriver is faster than Selenium RC since it speaks directly to the browser uses the browser's own engine to control it. 

3. Real-life Interaction- WebDriver interacts with page elements in a more realistic way. For example, if you have a disabled text box on a page you were testing, WebDriver really cannot enter any value in it just as how a real person cannot.

Selenium Core, just like other JavaScript codes, can access disabled elements. In the past, Selenium testers complain that Selenium Core was able to enter values to a disabled text box in their tests. Differences in API

4. API- Selenium RC's API is more matured but contains redundancies and often confusing commands. For example, most of the time, testers are confused whether to use type or typeKeys; or whether to use click, mouseDown, or mouseDownAt. Worse, different browsers interpret each of these commands in different ways too!

WebDriver's API is simpler than Selenium RC's. It does not contain redundant and confusing commands.

5. Browser Support- WebDriver can support the headless Html Unit browser Html Unit is termed as "headless" because it is an invisible browser - it is GUI-less.

It is a very fast browser because no time is spent in waiting for page elements to load. This accelerates your test execution cycles.

Since it is invisible to the user, it can only be controlled through automated means.

C) What are selenium test design consideration?

Ans- Complexity of the application & Use of supporting tools/technologies, Implementing the Framework.

1. Identify the input (pattern in which data is fed into script) and output (reports / test results) of your automation suite.

2. Design your input files. This may range from a simple text file to complex excel file. It is basically the file which will have your test data.

3. Design the folder structure based on your input parameters and

4. Implement the reporting feature ( either in some excel file or using any tool like ReportNG)

5. Determine/implement logger in your framework

6. Implement the build tool in your framework

7. Implement the unit test framework (Junit or TestNG)

Web applications are complex by nature because it involves lots of supporting tools and technology to implement. In a similar way, implementing the framework in Selenium is also tricky (I will not say complex) as it involves other tools to integrate. Since we know Selenium is NOT a tool but actually a collection/group of jar files, it is configured and not “Installed”, Selenium itself is not strong enough to build a complex framework. It requires a list of third-party tools for building a framework.

Environment setup-

Environment set up deals with (not limited to):-

• Setting up the code in the test environment

• Setting up code in production environment

• Writing scripts for triggering the automated tests.

• Developing the logic for reporting

• Establishing the frequency of running the scripts and developing logic for its implementation

• Creating text/excel files for entering the test data and test cases

• Creating property files for tracking the environments and credentials

Coding/scripting and review- Candidate test cases should be handy & Framework is ready

Q-8 a) Describe selenium web driver architecture with the help of neat diagram? [6+5+5=16]

Ans- Selenium WebDriver is the most important component of Selenium Tool's Suite. The latest release "Selenium 2.0" is integrated with WebDriver API which provides a simpler and more concise programming interface.

The following image will give you a fair understanding of Selenium components and the Test Automation Tools.

[pic]

Selenium WebDriver was first introduced as a part of Selenium v2.0. The initial version of Selenium i.e Selenium v1 consisted of only IDE, RC and Grid. However, with the release of Selenium v3, RC has been deprecated and moved to legacy package.

In WebDriver, test scripts can be developed using any of the supported programming languages and can be run directly in most modern web browsers. Languages supported by WebDriver include C#, Java, Perl, PHP, Python and Ruby.

b) What is Selenium? What are different feature of it?

Ans- Selenium is an open source and portable Web testing Framework.

Selenium is an automation testing tool used to test web-based applications. It is one of the most popular automation tool available in the market, and there is no other tool which provides as many features and functionalities as selenium do.

Some of the reason it became famous includes – being open source, support for multiple browsers, support for multiple languages, support for multiple platforms, easy to integrate with Testing frameworks and much more.

This tool can be integrated with other tools like TestNG (Testing Framework), AutoIT, Skiuli, etc. Selenium tutorials QA Tech Hub will help you develop an in-depth understanding of the concept.

I) Advantages of Selenium

1) Selenium is an Open Source Software.

(All Selenium Projects (Selenium IDE, Selenium RC, Selenium WebDriver and Selenium Grid) released under the Apache 2.0 license, It is free to use, anybody can download the source code and use, modify the source code according our company requirements, but selling modified code is not allowed.)

2) Selenium supports various programming languages to write programs (Test scripts)

(Selenium supports, Java, C#, Perl, Python, Ruby and PHP)

Note:

We can use any one the above languages, most of the Selenium Testers using Java (nearly 77%).

Selenium IDE (one of the tool in Selenium’s Tool suite) doesn’t support any programming.

UFT (Formerly QTP) supports VBScript only to write Test Scripts.)

3) Selenium supports various operating systems (MS Windows, Linux, Macintosh etc…)

(Once we create Test Cases on any Operating Environment (Ex: MS Windows), they can be executed on other supported Operating Environents (Ex:Linux, Macintosh Etc… easily)

4) Selenium supports various Browsers (Mozilla Firefox, Google Chrome, IE, Opera, Safari etc…)

(Once we create Test cases then execute the Test Cases using all Popular Browsers without any changes in Test Cases. Browser driver only varies from one Browser to another Browser but Test cases are same.

Note: Selenium IDE (one of the tool in Selenium’s Tool suite) supports Mozilla Firefox Browser only.)

5) Selenium supports Parallel Test Execution.

(Using Selenium Grid we can execute Tests in Parallel, so that we can reduce the Test execution Time).

6) Selenium uses less Hardware resources.

(When it compares to Vendor Tools like UFT, RFT, SilkTest etc… Selenium requires less Hardware Resources)

c) Enlist and explain the components of Selenium tool?

Ans- Selenium is a free (open source) automated testing suite for web applications across different browsers and platforms. It is quite similar to HP Quick Test Pro (QTP now UFT) only that Selenium focuses on automating web-based applications. Testing done using Selenium tool is usually referred as Selenium Testing.

Selenium is not just a single tool but a suite of software's, each catering to different testing needs of an organization. It has four components.

• Selenium Integrated Development Environment (IDE)

• Selenium Remote Control (RC)

• WebDriver

• Selenium Grid

[pic]

Selenium Remote Control (Selenium RC)

1. Unfortunately; testers using Selenium Core had to install the whole application under test and the web server on their own local computers because of the restrictions imposed by the same origin policy. So another Thought Work's engineer, Paul Hammant, decided to create a server that will act as an HTTP proxy to "trick" the browser into believing that Selenium Core and the web application being tested come from the same domain. This system became known as the Selenium Remote Control or Selenium

Selenium Grid was developed by Patrick Lightbody to address the need of minimizing test execution times as much as possible. He initially called the system "Hosted QA." It was capable of capturing browser screenshots during significant stages, and also of sending out Selenium commands to different machines simultaneously.

Selenium IDE- Selenium Integrated Development Environment (IDE) is the simplest frameworkin the Selenium suite and is the easiest one to learn. It is a Firefox plugin that you can install as easily as you can with other plugins. However, because of its simplicity, Selenium IDE should only be used as a prototyping tool. If you want to create more advanced test cases, you will need to use either Selenium RC or WebDriver.

Selenium Remote Control (Selenium RC)

Selenium RC was the flagship testing framework of the whole Selenium project for a long time. This is the first automated web testing tool that allowed users to use a programming language they prefer. As of version 2.25.0, RC can support the following programming languages:

• Java

• C#

• PHP

• Python

• Perl

• Ruby

Selenium WebDriver

The WebDriver proves itself to be better than both Selenium IDE and Selenium RC in many aspects. It implements a more modern and stable approach in automating the browser's actions. WebDriver, unlike Selenium RC, does not rely on JavaScript for Automation. It controls the browser by directly communicating with it.

The supported languages are the same as those in Selenium RC.

• Java

• C#

• PHP

• Python

• Perl

• Ruby

Selenium Grid

Selenium Grid is a tool used together with Selenium RC to run parallel testsacross different machines and different browsers all at the same time. Parallel execution means running multiple tests at once.

Features:

• Enables simultaneous running of tests in multiple browsers and environments.

• Saves time enormously.

• Utilizes the hub-and-nodes concept. The hub acts as a central source of Selenium commands to each node connected to it.

Q-9 a) What does SQA ensure? What are the Goals of SQA? [6+6+5=17]

Ans- Software Quality Assurance (SQA) is a set of activities for ensuring quality in software engineering processes. It ensures that developed software meets and complies with the defined or standardized quality specifications. SQA is an ongoing process within the Software Development Life Cycle (SDLC) that routinely checks the developed software to ensure it meets the desired quality measures.

SQA practices are implemented in most types of software development, regardless of the underlying software development model being used. SQA incorporates and implements software testing methodologies to test the software. Rather than checking for quality after completion, SQA processes test for quality in each phase of development, until the software is complete. With SQA, the software development process moves into the next phase only once the current/previous phase complies with the required quality standards. SQA generally works on one or more industry standards that help in building software quality guidelines and implementation strategies.

It includes the following activities −

• Process definition and implementation

• Auditing

• Training

Processes could be −

• Software Development Methodology

• Project Management

• Configuration Management

• Requirements Development/Management

• Estimation

• Software Design

• Testing, etc.

Once the processes have been defined and implemented, Quality Assurance has the following responsibilities −

• Identify the weaknesses in the processes

• Correct those weaknesses to continually improve the process

The major goals of SQA are as follows:

• SQA activities are planned.

• Non-compliance issues that cannot be resolved within the software project are addressed by senior management.

• Adherence of software products and activities to the applicable standards, procedures, and requirements is verified objectively.

• Affected groups and individuals are informed of SQA activities and results.

b) State & Explain principle of quality management.

Ans- 7 Principals of Quality

There are 7 Quality Management Principals that guide ISO 9001:2015. The seven quality management principles are:

✓ Customer focus

✓ Leadership

✓ Engagement of people

✓ Process approach

✓ Improvement

✓ Evidence-based decision making

✓ Relationship management

These principles are not listed in priority order. The relative importance of each principle will vary from organization to organization and can be expected to change over time.

Each principal is listed below along with:

A Statement: a Description of the principle.

The rationale : an explanation of why the principle is important for the organization.

The key benefits: Examples of benefits associated with the principle and

Actions you can take: Examples of typical actions to improve the organization’s performance when applying the principle.

1. Customer focus

Statement

The primary focus of quality management is to meet customer requirements and to strive to exceed customer expectations.

Rationale

Sustained success is achieved when an organization attracts and retains the confidence of customers and other interested parties. Every aspect of customer interaction provides an opportunity to create more value for the customer. Understanding current and future needs of customers and other interested parties contributes to sustained success of the organization.

Key benefits

Increased customer value

Increased customer satisfaction

Improved customer loyalty

Enhanced repeat business

Enhanced reputation of the organization

Expanded customer base

Increased revenue and market share

Actions you can take

Recognize direct and indirect customers as those who receive value from the organization.

Understand customers’ current and future needs and expectations.

Link the organization’s objectives to customer needs and expectations.

Communicate customer needs and expectations throughout the organization.

Plan, design, develop, produce, deliver and support goods and services to meet customer needs and expectations.

Measure and monitor customer satisfaction and take appropriate actions.

Determine and take actions on interested parties’ needs and expectations that can affect customer satisfaction.

Actively manage relationships with customers to achieve sustained success.

2. Leadership

Statement - Leaders at all levels establish unity of purpose and direction and create conditions in which people are engaged in achieving the organization’s quality objectives.

c) What is ISO Standard? What are its advantages?

Ans- ISO 9001 is an international standard that specifies requirements for a quality management system (QMS). Organizations use the standard to demonstrate the ability to consistently provide products and services that meet customer and regulatory requirements.

#1 Economic benefits

Research from many countries suggests that these standards help to boost the economy. In the UK, $8.2 billion is thought to have been contributed to annual growth in Gross Domestic Product (GDP). In Canada, the figure thought to have been injected in the economy since 1981 is said to be around $91 billion.

#2 Business benefits

For a business, International Standards are thought to bring many benefits:

• Cutting costs through improvement in systems and processes

• Increasing customer satisfaction with improvements in safety and quality

• The ability to access new markets is also a benefit as products and services can be compatible

• Reducing the impact on the environment; key in the modern-age where we are all more conscious of the impact on the local and global environment

#3 Consumer benefits

There are over 21,000 standards that touch on most, if not all aspects of modern life. And there are many benefits to this:

• Consumer confidence can be increased when they see the International Standard logo, trusting that the product or service is safe and reliable, as well as of good quality

• Increased confidence when it comes to particular aspects of products is key too, such as toy safety

• Consumers are included in the process of creating and writing International Standards that are as broad as possible.

#4 Government benefits - For governments, there are also benefits that are not just linked to the economic factors as discussed in the first point.

This scheme has meant that governments can benefit from:

• Expert opinion of ISO standard teams and groups have meant that when regulations are created, their opinions and skills can be relied upon

• Opening up global markets has no doubt been a key benefit; these standards have meant that the movement of goods, services and logistical technologies are now compatible making trading easier but also safer too.

Q-10 a) What is six sigma? Explain the term DMAIC & DMADV? [6+6+5=17]

Ans- The Six Sigma initiative is used by organizations to employ a structured, systematic approach to achieve operational excellence across all areas of the organization. The Six Sigma initiative utilizes specific tools, which include templates, process analysis techniques, statistical tests and deployment aids. These Six Sigma tools are used to implement DMAIC and DMADV projects that lead to organizational performance-improvement initiatives.

[pic]

Fundamentals of DMAIC

DMAICThe Six Sigma DMAIC methodology is used when an organization is improving its existing processes during a process improvement project. The acronym DMAIC represents five project phases: Define, Measure, Analyze, Improve, and Control.

During the define phase, the Six Sigma team will define the project’s problem in an outline for themselves and the organization’s leaders. During the measure phase, the project team maps the current process, gathers data, and identifies and understands the root cause of the process. Working in conjunction with the measure phase is the analyze phase, which is when the project team analyzes the data and the process to reduce while validating the wastes and defects of the existing process. The improve phase is initiated when the team has completed analyzing the process and is ready to move forward with working on the defects by implementing their improvement ideas. The final phase of DMAIC is the control phase. In this phase, the team will document how the process improvements will be passed to the organization’s employees who work within the process.

Fundamentals of DMADV

DMADVThe Six Sigma DMADV methodology is used when an organization is creating new processes in order to achieve their customers’ needs. The acronym DMADV represents five project phases: Define, Measure, Analyze, Design, and Verify.

During the define phase, the Six Sigma team will define the project’s goals and deliverables. In the measure phase, the team measures the project’s factors that are critical to its deliverables. Working in conjunction with the measure phase is the analyze phase, when the team analyzes the process options that will best meet the customer’s required deliverables. The design phase is the phase in which the team will document the detailed process that meets the customer’s deliverables. The final phase of DMADV is the verify phase, in which the team will verify that the customer’s needs are met through the use of the newly designed process.

DMAIC focuses on:

• defining business processes

• measuring the current performance of a business process

• finding the root cause of a problem

• making improvements to the business process to reduce defects

• implementing controls to alert leadership when the process is no longer in control.

DMADV focuses on:

• defining the customer’s needs

• measuring the customer’s needs

• finding process options that will meet the customer’s needs

• designing a business model that helps meet the customer’s needs

• verifying that the new model meets the customer’s needs

For more information on the fundamentals of these processes, please visit our detailed informational pages on DMAIC and DMADV.

b) Define software Quality and Software Quality Assurance. List the various objective of SQA.

Ans- SOFTWARE QUALITY is the degree of conformance to explicit or implicit requirements and expectations.

Explanation

• Explicit: clearly defined and documented

• Implicit: not clearly defined and documented but indirectly suggested

• Requirements: business/product/software requirements

• Expectations: mainly end-user expectations

Software Quality Assurance (SQA) is a set of activities for ensuring quality in software engineering processes. It ensures that developed software meets and complies with the defined or standardized quality specifications. SQA is an ongoing process within the Software Development Life Cycle (SDLC) that routinely checks the developed software to ensure it meets the desired quality measures.

SQA practices are implemented in most types of software development, regardless of the underlying software development model being used. SQA incorporates and implements software testing methodologies to test the software. Rather than checking for quality after completion, SQA processes test for quality in each phase of development, until the software is complete. With SQA, the software development process moves into the next phase only once the current/previous phase complies with the required quality standards. SQA generally works on one or more industry standards that help in building software quality guidelines and implementation strategies.

It includes the following activities −

• Process definition and implementation

• Auditing

• Training

Processes could be −

• Software Development Methodology

• Project Management

• Configuration Management

• Requirements Development/Management

• Estimation

• Software Design

• Testing, etc.

Once the processes have been defined and implemented, Quality Assurance has the following responsibilities −

• Identify the weaknesses in the processes

• Correct those weaknesses to continually improve the process

The major goals of SQA are as follows:

• SQA activities are planned.

• Non-compliance issues that cannot be resolved within the software project are addressed by senior management.

• Adherence of software products and activities to the applicable standards, procedures, and requirements is verified objectively.

• Affected groups and individuals are informed of SQA activities and results.

c) How Cost and Risk factors are affecting software quality.

Ans- McCall’s Factor Model

This model classifies all software requirements into 11 software quality factors. The 11 factors are grouped into three categories – product operation, product revision, and product transition factors.

• Product operation factors − Correctness, Reliability, Efficiency, Integrity, Usability.

• Product revision factors − Maintainability, Flexibility, Testability.

• Product transition factors − Portability, Reusability, Interoperability.

Product Operation Software Quality Factors

According to McCall’s model, product operation category includes five software quality factors, which deal with the requirements that directly affect the daily operation of the software. They are as follows

Correctness

These requirements deal with the correctness of the output of the software system. They include −

• Output mission

• The required accuracy of output that can be negatively affected by inaccurate data or inaccurate calculations.

• The completeness of the output information, which can be affected by incomplete data.

• The up-to-dateness of the information defined as the time between the event and the response by the software system.

• The availability of the information.

• The standards for coding and documenting the software system.

Reliability

Reliability requirements deal with service failure. They determine the maximum allowed failure rate of the software system, and can refer to the entire system or to one or more of its separate functions.

Efficiency

It deals with the hardware resources needed to perform the different functions of the software system. It includes processing capabilities (given in MHz), its storage capacity (given in MB or GB) and the data communication capability (given in MBPS or GBPS).

It also deals with the time between recharging of the system’s portable units, such as, information system units located in portable computers, or meteorological units placed outdoors.

Integrity

This factor deals with the software system security, that is, to prevent access to unauthorized persons, also to distinguish between the group of people to be given read as well as write permit.

Usability

Usability requirements deal with the staff resources needed to train a new employee and to operate the software system.

Product Revision Quality Factors

According to McCall’s model, three software quality factors are included in the product revision category. These factors are as follows −

Maintainability

This factor considers the efforts that will be needed by users and maintenance personnel to identify the reasons for software failures, to correct the failures, and to verify the success of the corrections.

Flexibility

This factor deals with the capabilities and efforts required to support adaptive maintenance activities of the software. These include adapting the current software to additional circumstances and customers without changing the software. This factor’s requirements also support perfective maintenance activities, such as changes and additions to the software in order to improve its service and to adapt it to changes in the firm’s technical or commercial environment.

Testability

Testability requirements deal with the testing of the software system as well as with its operation. It includes predefined intermediate results, log files, and also the automatic diagnostics performed by the software system prior to starting the system, to find out whether all components of the system are in working order and to obtain a report about the detected faults. Another type of these requirements deals with automatic diagnostic checks applied by the maintenance technicians to detect the causes of software failures.

Product Transition Software Quality Factor

According to McCall’s model, three software quality factors are included in the product transition category that deals with the adaptation of software to other environments and its interaction with other software systems. These factors are as follows −

Portability

Portability requirements tend to the adaptation of a software system to other environments consisting of different hardware, different operating systems, and so forth. The software should be possible to continue using the same basic software in diverse situations.

Reusability

This factor deals with the use of software modules originally designed for one project in a new software project currently being developed. They may also enable future projects to make use of a given module or a group of modules of the currently developed software. The reuse of software is expected to save development resources, shorten the development period, and provide higher quality modules.

Interoperability-

Interoperability requirements focus on creating interfaces with other software systems or with other equipment firmware. For example, the firmware of the production machinery and testing equipment interfaces with the production control software.

Q-11 a) Enumerate Ishikawa’s seven basic quality tool? Explain two in Details? [6+6+5=17]

Ans- Check sheet.

• Control chart.

• Stratification (alternatively, flow chart or run chart)

• Pareto chart.

• Histogram.

• Cause-and-effect diagram (also known as the "fishbone diagram" or Ishikawa diagram)

• Scatter diagram.

Fishbone Diagram- Also called: cause-and-effect diagram, Ishikawa diagram

Variations: cause enumeration diagram, process fishbone, time-delay fishbone, CEDAC (cause-and-effect diagram with the addition of cards), desired-result fishbone, reverse fishbone diagram 

This cause analysis tool is considered one of the seven basic quality tools. The fishbone diagram identifies many possible causes for an effect or problem. It can be used to structure a brainstorming session. It immediately sorts ideas into useful categories.

[pic]

Check Sheet- Also called: defect concentration diagram

A check sheet is a structured, prepared form for collecting and analyzing data. This is a generic data collection and analysis tool that can be adapted for a wide variety of purposes and is considered one of the seven basic quality tools.

• When data can be observed and collected repeatedly by the same person or at the same location

• When collecting data on the frequency or patterns of events, problems, defects, defect location, defect causes, or similar issues

• When collecting data from a production process

• Decide what event or problem will be observed. Develop operational definitions.

• Decide when data will be collected and for how long.

• Design the form. Set it up so that data can be recorded simply by making check marks or X's or similar symbols and so that data do not have to be recopied for analysis.

• Label all spaces on the form.

• Test the check sheet for a short trial period to be sure it collects the appropriate data and is easy to use.

• Each time the targeted event or problem occurs, record data on the check sheet.

[pic]

b) Describe key elements of Total Quality Management ?

Ans- Some of the important elements of total quality management are:

(i) Management’s commitment to quality

(ii) Customer satisfaction

(iii) Preventing rather than detecting defects

(iv) Measurement of Quality

(v) Continuous improvement

(vi) Corrective action for root cause

(vii) Training

(viii) Recognition of high quality

(ix) Involvement of Employees and

(x) Benchmarking.

(i) Management’s commitment to quality:

If an organization is serious about implementing TQM, the lead has to be taken by the top management with full commitment.

It must initiate quality improvement programmes. The top management should continue all the efforts and provide the resources to continue quality improvement programmes. This is provided by collecting, reporting and use of quality related cost information.

(ii) Customer satisfaction:

TQM is designed in such a manner so as to meet the expectations of customers. In the present era, customer is the king. It must be recognised that customers are the most important persons for any business. The very existence of an organisation depends on them. They are the life blood of a business and deserve the most courteous and affectionate treatment.

(iii) Preventing rather than detecting defects:

TQM checks the poor quality products or services rather than simply to detect and sort out defects. “Prevention rather than detection” is the main characteristic of TQM. Some of the important techniques of TQM which aim at the prevention of defects rather than the detection of the defects are statistical process control, continuous process improvement and problem solving and system failure analysis etc.

(iv) Measurement of Quality:

Quality is a measurable entity and we must know what current quality levels are i.e. Where we are or where we stand in respect of the quality and what quality levels we are aspiring for or where we are going

(v) Continuous improvement:

TQM comprises of a continuous process of improvement covering people, equipment, suppliers, materials and procedures. It includes every aspect of an operation in an organisation. In Japan the word “Kaizen” is used to describe the continuous process of improvement. In USA, TQM zero defects and six-sigma are used to describe such efforts.

(vi) Corrective action for root cause:

TQM aims at preventing repetition of problems by identifying the root causes for their occurrence and developing means and corrective actions to solve the problems of the root level. Failure analysis and problem solving skills are very useful techniques in this regard.

(vii) Training:

Proper training programmes have to be undertaken to train the employees for the use of TQM concepts and techniques. Employees have to be provided regular training for continuous improvement.

(viii) Recognition of high quality:

TQM aims at developing long term relationships with a few high quality suppliers rather than those suppliers who supply the inferior goods at the low cost.

c) Explain with Example product Quality Metric?

Ans-

Software metrics can be classified into three categories −

• Product metrics − Describes the characteristics of the product such as size, complexity, design features, performance, and quality level.

• Process metrics − These characteristics can be used to improve the development and maintenance activities of the software.

• Project metrics − This metrics describe the project characteristics and execution. Examples include the number of software developers, the staffing pattern over the life cycle of the software, cost, schedule, and productivity.

Some metrics belong to multiple categories. For example, the in-process quality metrics of a project are both process metrics and project metrics.

Software quality metrics are a subset of software metrics that focus on the quality aspects of the product, process, and project. These are more closely associated with process and product metrics than with project metrics.

Software quality metrics can be further divided into three categories −

• Product quality metrics

• In-process quality metrics

• Maintenance quality metrics

Product Quality Metrics

This metrics include the following −

• Mean Time to Failure

• Defect Density

• Customer Problems

• Customer Satisfaction

Mean Time to Failure

It is the time between failures. This metric is mostly used with safety critical systems such as the airline traffic control systems, avionics, and weapons.

Defect Density

It measures the defects relative to the software size expressed as lines of code or function point, etc. i.e., it measures code quality per unit. This metric is used in many commercial software systems.

Customer Problems

It measures the problems that customers encounter when using the product. It contains the customer’s perspective towards the problem space of the software, which includes the non-defect oriented problems together with the defect problems.

The problems metric is usually expressed in terms of Problems per User-Month (PUM).

PUM = Total Problems that customers reported (true defect and non-defect oriented

problems) for a time period + Total number of license months of the software during

the period

Where,

Number of license-month of the software = Number of install license of the software ×

Number of months in the calculation period

PUM is usually calculated for each month after the software is released to the market, and also for monthly averages by year.

Customer Satisfaction

Customer satisfaction is often measured by customer survey data through the five-point scale −

• Very satisfied

• Satisfied

• Neutral

• Dissatisfied

• Very dissatisfied

Satisfaction with the overall quality of the product and its specific dimensions is usually obtained through various methods of customer surveys. Based on the five-point-scale data, several metrics with slight variations can be constructed and used, depending on the purpose of analysis. For example −

• Percent of completely satisfied customers

• Percent of satisfied customers

• Percent of dis-satisfied customers

• Percent of non-satisfied customers

Usually, this percent satisfaction is used.

Q-12 a) Write short note on total quality management (TQM) [6+6+5=17]

Ans- TQM can be summarized as a management system for a customer-focused organization that involves all employees in continual improvement. It uses strategy, data, and effective communications to integrate the quality discipline into the culture and activities of the organization. Many of these concepts are present in modern quality management systems, the successor to TQM. Here are the 8 principles of total quality management:

1. Customer-focused: The customer ultimately determines the level of quality. No matter what an organization does to foster quality improvement—training employees, integrating quality into the design process, or upgrading computers or software—the customer determines whether the efforts were worthwhile.

2. Total employee involvement: All employees participate in working toward common goals. Total employee commitment can only be obtained after fear has been driven from the workplace, when empowerment has occurred, and when management has provided the proper environment. High-performance work systems integrate continuous improvementefforts with normal business operations. Self-managed work teams are one form of empowerment.

3. Process-centered: A fundamental part of TQM is a focus on process thinking. A process is a series of steps that take inputs from suppliers (internal or external) and transforms them into outputs that are delivered to customers (internal or external). The steps required to carry out the process are defined, and performance measures are continuously monitored in order to detect unexpected variation.

4. Integrated system: Although an organization may consist of many different functional specialties often organized into vertically structured departments, it is the horizontal processes interconnecting these functions that are the focus of TQM.

Micro-processes add up to larger processes, and all processes aggregate into the business processes required for defining and implementing strategy. Everyone must understand the vision, mission, and guiding principles as well as the quality policies, objectives, and critical processes of the organization. Business performance must be monitored and communicated continuously.

▪ An integrated business system may be modeled after the Baldrige Award criteria and/or incorporate the ISO 9000 standards. Every organization has a unique work culture, and it is virtually impossible to achieve excellence in its products and services unless a good quality culture has been fostered. Thus, an integrated system connects business improvement elements in an attempt to continually improve and exceed the expectations of customers, employees, and other stakeholders.

5. Strategic and systematic approach: A critical part of the management of quality is the strategic and systematic approach to achieving an organization’s vision, mission, and goals. This process, called strategic planning or strategic management, includes the formulation of a strategic plan that integrates quality as a core component.

6. Continual improvement: A large aspect of TQM is continual process improvement. Continual improvement drives an organization to be both analytical and creative in finding ways to become more competitive and more effective at meeting stakeholder expectations.

7. Fact-based decision making: In order to know how well an organization is performing, data on performance measures are necessary. TQM requires that an organization continually collect and analyze data in order to improve decision making accuracy, achieve consensus, and allow prediction based on past history.

8. Communications: During times of organizational change, as well as part of day-to-day operation, effective communications plays a large part in maintaining morale and in motivating employees at all levels. Communications involve strategies, method, and timeliness.

b) Explain the Following term (any two)

i) Control Chart

ii) Scatter diagram

iii) Checklists

Ans- 1. Control Chart- Also called: Shewhart chart, statistical process control chart

The control chart is a graph used to study how a process changes over time. Data are plotted in time order. A control chart always has a central line for the average, an upper line for the upper control limit, and a lower line for the lower control limit. These lines are determined from historical data. By comparing current data to these lines, you can draw conclusions about whether the process variation is consistent (in control) or is unpredictable (out of control, affected by special causes of variation). This versatiledata collection and analysis tool can be used by a variety of industries and is considered one of the seven basic quality tools.

Control charts for variable data are used in pairs. The top chart monitors the average, or the centering of the distribution of data from the process. The bottom chart monitors the range, or the width of the distribution. If your data were shots in target practice, the average is where the shots are clustering, and the range is how tightly they are clustered. Control charts for attribute data are used singly.

1. Choose the appropriate control chart for your data.

2. Determine the appropriate time period for collecting and plotting data.

3. Collect data, construct your chart and analyze the data.

4. Look for "out-of-control signals" on the control chart. When one is identified, mark it on the chart and investigate the cause. Document how you investigated, what you learned, the cause and how it was corrected. 

[pic]

1. Scatter Plot- Also called: scatter plot, X-Y graph

The scatter diagram graphs pairs of numerical data, with one variable on each axis, to look for a relationship between them. If the variables are correlated, the points will fall along a line or curve. The better the correlation, the tighter the points will hug the line. This cause analysis tool is considered one of the seven basic quality tools.

• When you have paired numerical data

• When your dependent variable may have multiple values for each value of your independent variable

• When trying to determine whether the two variables are related, such as:

o When trying to identify potential root causes of problems

o After brainstorming causes and effects using a fishbone diagram to determine objectively whether a particular cause and effect are related

o When determining whether two effects that appear to be related both occur with the same cause

o When testing for autocorrelation before constructing a control chart

[pic]

C) Describe in detail defect Removal effectiveness

Ans- Defect Removal Effectiveness (or efficiency as used by some writers) is calculated: Since the latent defects in a software product is unknown at any point in time, it is approximated by adding the number of defects removed during the phase to the number of defects found later (but that existed during that phase). For example, assume that the following table reflects the defects detected during the specified phases and the phase where those defects were introduced.

DRE = Defects removed during a development phase Defects latent in the product at that phase x 100%

Since the latent defects in a software product is unknown at any point in time, it is approximated by adding the number of defects removed during the phase to the number of defects found later (but that existed during that phase). For example, assume that the following table reflects the defects detected during the specified phases and the phase where those defects were introduced.

[pic]

Requirements DRE = 10 / (10+3+0+2+1) x 100% = 63%

Design DRE = (3+18) / (3+0+2+1+18+4+5+2) x 100% = 60%

Coding DRE = (0+4+26) / (0+2+1+4+5+2+26+8+7) x 100% = 55%

Testing DRE = (2+5+8) / (2+1+5+2+8+7) x 100% = 60%

Defect Removal Effectiveness can also be calculated for the entire development cycle to examine defect detection efforts before the product is released to the field. According to Capers Jones, world class organizations have Development DRE greater than 95%.

1 Development DRE = (Pre-release Defect) / (Total Defects) x 100% = (10+3+2+18+4+5+26+8) / (10+3+2+1+18+4+5+2+26+8+7) x 100 = 88%

**************************** THE END ********************************************

................
................

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

Google Online Preview   Download