STQA Solution
STQA Solution
Q-1 a) What is bug, defect, error & failure give an example of each?
Ans- DEFECT: It can be simply defined as a variance between expected and actual. Defect is an error found
AFTER the application goes into production. It commonly refers to several troubles with the software
products, with its external behavior or with its internal features. In other words Defect is the difference
between expected and actual result in the context of testing. It is the deviation of the customer requirement.
Wrong: When requirements are implemented not in the right way. This defect is a variance from the given
specification. It is Wrong!
Missing: A requirement of the customer that was not fulfilled. This is a variance from the specifications, an
indication that a specification was not implemented, or a requirement of the customer was not noted
correctly.
Extra: A requirement incorporated into the product that was not given by the end customer. This is always a
variance from the specification, but may be an attribute desired by the user of the product. However, it is
considered a defect because it’s a variance from the existing requirements.
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.
BUG: A bug is the result of a coding error. An Error found in the development environment before the product
is shipped to the customer. A programming error that causes a program to work poorly, produce incorrect
results or crash. An error in software or hardware that causes a program to malfunction. Bug is terminology of
Tester.
FAILURE: A failure is the inability of a software system or component to perform its required functions within
specified performance requirements. When a defect reaches the end customer it is called a Failure. During
development Failures are usually observed by testers.
FAULT: An incorrect step, process or data definition in a computer program which causes the program to
perform in an unintended or unanticipated manner. A fault is introduced into the software as the result of an
error. It is an anomaly in the software that may cause it to behave incorrectly, and not according to its
specification. It is the result of the error.
Tools are the objects or means which help in performing the tasks.
For example, Painting is a task and there are different techniques like oil painting, etc. Then there are some
paintin gtools - like crayons, brushes, poster colors etc. Hope this makes sense...
Testing techniques are the types of testing . Various testing techniques are functional testing, performance
testing etc. They can be furthwer classified into many techniques.
Testing tools are software programs clubbed together to per testing activities. These tools generally provide
record and playback features along with common scripting platform to customize the tests. Common
functional testing tools are - Quick Test Professional, Selenium etc. Common performance testing tools are
Load Runner, Rational Performance Tester etc.
Imagine traveling from point A to B is the test that you need to perform. And the above image suggests that
there are 2 ways to do it
But in both these 2 techniques, one thing is common. The tool/ component used to implement these
techniques. In both these techniques, the person uses his/ her legs to either run on walk.
So, Testing tools are the components or software packages you you to test an application, while the testing
techniques dictates how you use these tools to test your application.
Ans- The cost of defects can be measured by the impact of the defects and when we find them. Earlier the
defect is found lesser is the cost of defect. For example if error is found in the requirement specifications
during requirements gathering and analysis, then it is somewhat cheap to fix it. The correction to the
requirement specification can be done and then it can be re-issued.
In the same way when defect or error is found in the design during design review then the design can be
corrected and it can be re-issued. But if the error is not caught in the specifications and is not found till
the user acceptance then the cost to fix those errors or defects will be way too expensive.
If the error is made and the consequent defect is detected in the requirements phase then it is relatively
cheap to fix it.
Similarly if a requirement specification error is made and the consequent defect is found in thedesign
phase then the design can be corrected and reissued with relatively little expense.
The same applies for construction phase. If however, a defect is introduced in the requirement specification
and it is not detected until acceptance testing or even once the system has been implemented then it will be
much more expensive to fix. This is because rework will be needed in the specification and design before
changes can be made in construction; because one defect in the requirements may well propagate into
several places in the design and code; and because all the testing work done-to that point will need to be
repeated in order to reach the confidence level in the software that we require.
It is quite often the case that defects detected at a very late stage, depending on how serious they are, are not
corrected because the cost of doing so is too expensive.
Ans- Bug tracking means tracking the status of any bug until it get closed. At any point of time a bug must be
in any of the states given below in the diagram-
There are several stages in a bug life cycle
Not a Bug – Sometimes developer or team lead can mark the bug as “Not a Bug” if the system is
working according to specifications and bug is just due to some misinterpretation.
Deferred – When a bug cannot be addressed in that particular cycle it is deferred to future release.
Fixed – Bug has been fixed by developer and QA has to verify it in next build.
Closed – If bug is verified by the QA team and it is fixed then QA can mark bug as ‘Closed’ or a bug
can be closed if the defect is duplicate or considered as NOT as bug.
Bug fix: A bug is a a mistake in the code A fix is a correction of that mistake
A bug is a flaw in a piece of software that causes it to not to do what was intended. A bug could be in the
specification of the software (we should have made it do this instead of that), in the design and coding of the
software (we said it should do this but it does that instead), or sometimes in the documentation (the software
does exactly what we want it to do, but the user manual says something different). A coding (programming)
bug can manifest as incorrect results or crashes in the software system.
A bug fix is, simply the fix to a bug, that is, the set of modifications to the software system that would correct
the flaw. For example:
Bug: The “cancel” button runs off the right edge of the screen on smaller phones.
Bug fix: Change the code to position the “cancel” button farther to the left.
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.
Ans-
No. Test Test case Objec Prereq uisite Steps Inp ut Expect ed Result Act ual Resu Re ma
Case tive data lt rks/ Sta
-ID tus
1 TC1 To add two Calculato r is 1.Key in a valid integer 135 + 235(addition, above 235 Pass
integer and switched on from - 9999999999 to 100 ten digits will be
display the +9999999999 2.Key in expressed in
No. Test Test case Objec Prereq uisite Steps Inp ut Expect ed Result Act ual Resu Re ma
Case tive data lt rks/ Sta
-ID tus
2 TC-2 To subtract two Calculato r is 1.Key in a valid integer 135- 35(subtractio 35 Pass
integer and switched on from - 9999999999 to 100 n,above ten digits
display the +9999999999 2.Key in will be expressed in
result on ten operator - 3.Key in second exponential form)
digit calculator operand,a valid integer
from - 9999999999 To
+999999999
3. TC-3 To multiply two Calculato r is 1.Key in a valid integer 100 x 40000(multi 40000 Pass
integer and switched on from - 9999999999 to 400 plication,abo ve ten
display the +9999999999 2.Key in digits will be
result on ten operator x 3.Key in expressed in
digit calculator second operand,a valid exponential form)
integer from -
9999999999 To
+999999999
4. TC4 To divide two Calculato r is 1.Key in a valid integer 100/ 25 40(division,a bove 40 Pass
integer and switched on from - 9999999999 to ten digits will be
display the +9999999999 2.Key in expressed in
result on ten operator / 3.Key in second exponential form)
digit calculator operand,a valid integer
from - 9999999999 To
+999999999
5 TC5 To clear the Calculato r is Press C Symbol ‗0‘ should Symbo l ‗0‘ Pass
screen switched on appear on screen appear s on
screen
6 TC6 To delete digits Calculato r is Press <- (backspace) One Digit should be One Digit is
one by one switched on deleted from right deleted
hand side from right PASS
handsi de
Ans- • Test cases/scenarios for Forms– There are various types of form one can find on webpages, but fields
are relatively same, according to which following are the scenarios to test the form
Ans- Test cases/scenarios for Links – There are two types of link can be available on web page that is internal
and external links here are some test scenarios to test link on web page
Q.5 A) Create Requirement Traceability Matrix Document for Online Flight Booking Application also explain
advantage of Requirement Traceability Matrix
4. Easy to prepare
Ans-
Non-Technical Skills
Following skills are essential to becoming a good software tester. Compare your skill set against the following
checklist to determine whether Software Testing is a reality for you-
Analytical skills: A good software tester should have sharp analytical skills. Analytical skills will help
break up a complex software system into smaller units to gain a better understanding and create test
cases. Not sure that you have good analytical skills - Refer this link - if, if you can solve at least ONE
problem you have excellent analytical skills.
Communication skill: A good software tester must have good verbal and written communication skill.
Testing artifacts (like test cases/plans, test strategies, bug reports, etc.) created by the software tester
should be easy to read and comprehend. Dealing with developers (in the event of bugs or any other
issue) will require a shade of discreetness and diplomacy.
Time Management & Organization Skills: Testing at times could be a demanding job especially during
the release of code. A software tester must efficiently manage workload, have high productivity,
exhibit optimal time management, and organization skills
GREAT Attitude: To be a good software tester you must have a GREAT attitude. An attitude to 'test to
break', detail orientation, willingness to learn and suggest process improvements. In the software
industry, technologies evolve with an overwhelming speed, and a good software tester should
upgrade his/her technical skills with the changing technologies. Your attitude must reflect a certain
degree of independence where you take ownership of the task allocated and complete it without
much direct supervision.
Passion: To Excel in any profession or job, one must have a significant degree of the passion for it. A
software tester must have a passion for his / her field. BUT how do you determine whether you have
a passion for software testing if you have never tested before? Simple TRY it out and if software
testing does not excite you switch to something else that holds your interest.
Technical Skills
o Basic knowledge of Database/ SQL: Software Systems have a large amount of data in the background.
This data is stored in different types of databases like Oracle, MySQL, etc. in the backend. So, there
will be situations when this data needs to be validated. In that case, simple/complex SQL queries can
be used to check whether proper data is stored in the backend databases.
o Basic knowledge of Linux commands: Most of the software applications like Web-Services, Databases,
Application Servers are deployed on Linux machines.So it is crucial for testers to have knowledge
about Linux commands.
For example - A tool like Testlink can be used for tracking all the test cases written by your team.
There are other tools available that can be utilized for Test Management. So, it is important to have
knowledge and working experience of such tools because they are used in most of the companies.
Knowledge and hands-on experience of any Defect Tracking tool- Defect Tracking and Defect life
cycle are key aspects of software testing. It is extremely critical to managing defects properly and
track them in a systematic manner. Defect tracking becomes necessary because the entire team
should know about the defect including managers, developers, and testers. Several tools are used to
lock defects including QC, Bugzilla, Jira, etc.
o Knowledge and hands-on experience of Automation tool: If if you see yourself as an "Automation
tester" after a couple of years working on manual testing, then you must master a tool and get in-
depth, hands-on knowledge of automation tools.
Q-6 A) Create Requirement Traceability Matrix Document for login into college portal which accept three
inputs. They are USERID, PASSWORD and USER ROLE.
Ans- we are going to use two base line documents i.e. BRD (Business Requirement Document) and
Functional Requirement Document (FRD) to write Test Cases and later map all of these documents
into Requirement Traceability Matrix (RTM). We are going to consider the requirement to login into
college portal which accept three inputs. They are USERID, PASSWORD and USER ROLE. The
following are the steps.
STEP 1: Our BRD (Business Requirement Document) will look as shown below.
BSR1 Application Student, A student can login with correct username and
Login and Professor, password (i.e. credentials) only if user role is
Logout Dean, Staff selected as ‘Student’. Similarly it applies to user
role as Professor, Dean, and Staff.
BSR2 Profile Page Student, Student, Professor, Dean, and Staff post successful
Professor, login could see their profile details not the other
Dean, Staff profiles.
BSR3 Task Student, Student can accept or decline assignments assigned
Assignment Professor, by Professor. Dean can approve and disapprove the
Dean, Staff assignment assigned by professor. Professor can
approve and disapprove assignment submitted by
Student. Staff is to capture the grade and marks
submitted by professor towards student
assignment.
STEP 2: Our corresponding (Functional requirement Document) FRD will look as shown below.
FTR3 User role is a required field and should be chosen among Student,
Professor, Dean, Staff.
FTR4 User ID, Password, and User Role are valid. Login Successful.
FTR6 If User ID and Password are correct but User Role is invalid. Login
Unsuccessful.
FTR7 Student, Professor, Dean, Staff can see their receptive profile page.
FTR12 Staff can capture the grade or marks provided by Professor towards
Student’s assignment.
STEP 3: Testing team can use these two documents (i.e. BRD and FRD) and start preparing test cases (say the Test
case covers successful login).
Test Test Case Name Test Steps Test Data Expected Result
Case
ID
TC2 Unsuccessful Login due to 1) Browse the Userid=abc123 Unsuccessful Login and
invalid username and Login page URL. Password=wrong Login page will show
password 2) Enter correct error.
user ID User Role=
STUDENT
3) Enter wrong
password
4) Enter correct
user role
TC3 Unsuccessful Login due to 1) Browse the Userid=abc123 Unsuccessful Login and
invalid user role Login page URL. Password=123456 Login page will show
2) Enter correct error.
user ID User Role= DEAN
3) Enter Correct
password
4) Enter wrong
user role
STEP 4: Let’s map the Business Requirement ID (BSR), and Functional Requirement ID (FTR ) to the
above Test Case. Above table will look as shown below.
Test BSR FTR Test Case Name Test Steps Test Data Expected Result
Case
ID
TC1 BSR1 FTR4 Successful Login 1) Browse the Userid=abc123 Successful Login
Login page Password=123456 and profile page is
URL. visible.
2) Enter User Role=
correct user STUDENT
ID
3) Enter
Correct
password
4) Enter
correct user
role
TC2 BSR1 FTR5 Unsuccessful Login 1) Browse the Userid=abc123 Unsuccessful Login
due to invalid Login page Password=wrong and Login page
username and URL. will show error.
password 2) Enter User Role=
correct user STUDENT
ID
3) Enter
wrong
password
4) Enter
correct user
role
TC3 BSR1 FTR6 Unsuccessful Login 1) Browse the Userid=abc123 Unsuccessful Login
due to invalid user Login page Password=123456 and Login page
role URL. will show error.
2) Enter User Role= DEAN
correct user
ID
3) Enter
Correct
password
4) Enter
wrong user
role
STEP 5: Likewise, complete above relationship table for all test cases and in the next step but
extract the first three columns of the table i.e. Test Case ID (TC), Business Requirement ID ( BSR),
and Functional Requirement ID (FTR ). It is nothing but you’re Requirement Traceability Matrix (RTM).
Ans- Mutation Testing is a type of software testing where we mutate (change) certain statements in the source code
and check if the test cases are able to find the errors. It is a type of White Box Testing which is mainly used for Unit
Testing. The changes in mutant program are kept extremely small, so it does not affect the overall objective of the
program.
The goal of Mutation Testing is to assess the quality of the test cases which should be robust enough to fail
mutant code. This method is also called as Fault based testing strategy as it involves creating fault in the
program
Mutation was originally proposed in 1971 but lost fervor due to high costs involved. Now, again it has picked
steam and is widely used for languages such as Java and XML.
Following are the steps to execute mutation testing:
Step 1: Faults are introduced into the source code of the program by creating many versions called mutants.
Each mutant should contain a single fault, and the goal is to cause the mutant version to fail which
demonstrates the effectiveness of the test cases.
Step 2: Test cases are applied to the original program and also to the mutant program. A Test Case should be
adequate, and it is tweaked to detect faults in a program.
Step 4: If the original program and mutant programs generate the different output, then that the mutant is
killed by the test case. Hence the test case is good enough to detect the change between the original and the
mutant program.
Step 5: If the original program and mutant program generate same output, Mutant is kept alive. In such cases,
more effective test cases need to be created that kill all mutants.
If (x>y) If(x<y)
Print "Hello" Print "Hello"
Else Else
Print "Hi" Print "Hi"
Ans- Independent testing is a collection of tests performed by one or more professional software testers, who
are not related to the product development team. They are called “independent” because they are neither
associated with the producer nor the consumer. Independent software testing can be conducted for web
applications as well as applications on iOS and Android platforms.
Independent testing has an upper hand over traditional testing in many ways. Let’s take a look at some of the
key advantages that it offers:
1. Improved Software Quality – One of the top benefits of outsourcing testing to independent testing
organizations is improved software quality. Independent testing teams engage in a bias-free procedure and
make sure that the product is developed according to customer requirements and meets the desired
objectives while maintaining high quality.
2. Experienced and Skilled Manpower – Independent testing organizations have experienced and skilled
manpower to carry out testing activities in the best possible manner. They hire the best of talent across
various testing domains like automation testing, manual testing, load testing, security testing, etc.
3. Lower Life Cycle Costs – Organizations that employ independent testers can focus exclusively on quality and
adherence to requirements and maintainability and scalability to address future needs. This ensures low
failure rates and reduced maintenance costs. Rigorous testing cycles for both functional and non-functional
aspects like performance and stress handling is covered.
4. Reduced Time to Market – There is a reduced and improved time to market for organizations having an
independent testing practice. Access to expertise in test automation skills ensures faster testing cycles.
Predictability to testing efforts ensures adherence to timelines. Optimized staffing ensures effective handling
of dynamic requirements.
5. Flexibility – We are living in a fast-paced world and we need to be flexible in order to keep up with the pace.
You can opt for automation testing or manual testing based on organizational needs. You can easily switch
between manual and automation testing as independent testing organizations have the best of talent and
expertise to do so.
Q-7 a) what is Selenium? What are the different Selenium components? [16=6+5+5]
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.
WebDriver
Selenium Grid
1. Selenium-IDE:
Selenium-IDE is the Integrated Development Environment for building Selenium test cases. It operates as a
Firefox add-on.
It is very easy to use. It has record and play feature and we can also write our own extensions and implement
loops, if statements, use arrays, parameterize test cases. Selenium-IDE is very user friendly.
Limitation of Selenium-IDE:
It gets installed as an add-on on Mozilla and works only on Mozilla. IDE cannot work on browsers other than
Mozilla. That’s why RC or webdriver is used.
3. Selenium-Grid:
Selenium Grid is a server that allows tests to use web browser instances running on remote machines. With
Selenium Grid, one server acts as the hub.
4. Selenium WebDriver
WebDriver is designed to provide a simpler, more concise programming interface in addition to addressing
some limitations in the Selenium-RC API. WebDriver’s goal is to supply a well-designed object-oriented API
that provides improved support for modern advanced web-app testing problems.
Ans- It does not support and non web-based applications, it only supports web based applications.
Its an open source tool so in case of any technical issues you need to rely on the selenium community forums
to get your issue resolved.
You need to know at least one of the supported language very well in order to automate your application
successfully.
No inbuilt reporting capability so you need plugins like JUnit and TestNG for test reports.
Selenium supports testing of only web based applications Mobile applications cannot be tested using
Selenium Captcha and Bar code readers cannot be tested using Selenium Reports can only be generated
using third party tools like TestNG or Junit. As Selenium is a free tool, thus there is no ready vendor support
though the user can find numerous helping communities. User is expected to possess prior programming
language knowledge.
We can use Selenium only to test web applications. We cannot test desktop applications or any other
software
There is no guaranteed support available for Selenium. We need to leverage on the available customer
communities
It is not possible to perform testing on images. We need to integrate Selenium with Sikuli for image based
testing
There is no native reporting facility. But we can overcome that issue by integrating it with frameworks
like TestNG or JUnit
Tests can be carried out in any of these OS: Windows, Mac or Linux
Tests can be carried out using any browser: Mozilla Firefox, Internet Explorer, Google
Chrome, Safari or Opera
It can be integrated with tools such as TestNG & JUnit for managing test cases and generating reports
It can be integrated with Maven, Jenkins & Docker to achieve Continuous Testing
It is developed by Jason Huggins and his team. This is release under the Apache 2.0 license and can
be downloaded and used without any charge.
Selenium is easy to get started with for simple functional testing of web application. It supports
record and playback for testing web based application. Selenium supports multithreading feature i.e.
multiple instance of script can be run on different browsers.
Q-8 a) Describe the selenium Web driver architecture with the help of diagram. [16=6+5+5]
Ans-
Selenium Webdriver is also a well-designed object oriented API which helps in communication between
languages and browsers.
We have many programming languages like JAVA, C#, Python etc. and a programmer can write code using
any language. To automate browser, a programmer needs to understand the logic of browsers.
Every browser has different logic of performing actions like loading a page, closing the browser etc. Some
browsers are open source or some are not. Open source means we can see the code and can edit as well. But
all browsers are not open source. So, programmer can’t see code of all browsers and it is not possible to
automate as well.
Here is the place, where selenium webdriver makes an entry. Selenium makes it possible for programmer to
communicate with browsers through Webdriver. Every browser has provided a driver through which
communication to browser is possible.
1. Language binding: To support multiple languages, selenium people has developed language bindings. If
you want to use the browser driver in Java, use the Java bindings for Selenium Webdriver. If you want to
use the browser driver in C#, Ruby or Python, use the binding for that language. All language binding can
be downloaded from selenium official website.
3. Browser drivers: A browser driver can be considered as a personal secretary of a boss. A browser drivers
helps in communication with browser without revealing the internal logic of browser’s functionality. The
browser driver is the same regardless of the language used for automation.
When the automation script is executed, the following steps are done internally:
1. A HTTP request is created and sent to browser driver for each selenium instruction or commands.
3. HTTP server decides all steps to perform instructions which are executed on browser.
4. Execution status is sent back to HTTP server which is sent back to automation script.
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.
WebDriver
Selenium Grid
Tests can be carried out in any of these OS: Windows, Mac or Linux
Tests can be carried out using any browser: Mozilla Firefox, Internet Explorer, Google
Chrome, Safari or Opera
It can be integrated with tools such as TestNG & JUnit for managing test cases and generating reports
It can be integrated with Maven, Jenkins & Docker to achieve Continuous Testing
It is developed by Jason Huggins and his team. This is release under the Apache 2.0 license and can
be downloaded and used without any charge.
Selenium is easy to get started with for simple functional testing of web application. It supports
record and playback for testing web based application. Selenium supports multithreading feature i.e.
multiple instance of script can be run on different browsers.
Ans- 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.
WebDriver
Selenium Grid
1. Selenium-IDE:
Selenium-IDE is the Integrated Development Environment for building Selenium test cases. It operates as a
Firefox add-on.
It is very easy to use. It has record and play feature and we can also write our own extensions and implement
loops, if statements, use arrays, parameterize test cases. Selenium-IDE is very user friendly.
Limitation of Selenium-IDE:
It gets installed as an add-on on Mozilla and works only on Mozilla. IDE cannot work on browsers other than
Mozilla. That’s why RC or webdriver is used.
4. Selenium WebDriver
WebDriver is designed to provide a simpler, more concise programming interface in addition to addressing
some limitations in the Selenium-RC API. WebDriver’s goal is to supply a well-designed object-oriented API
that provides improved support for modern advanced web-app testing problems.
Q-9 a) What does SQA ensure? what are the goals of SQA? [17=6+6+5]
Ans-
Management Review: Management Review is also known as Software Quality Assurance or (SQA). It
focuses more on the software process rather than the software work products. Quality Assurance is a
set of activities designed to ensure that the project manager follows the standard process which is
already pre-defined. In other words, Quality Assurance makes sure the Test Manager is doing the
right things in the right way.
Audit: An audit is the examination of the work products and related information to assesses whether
the standard process was followed or not.
As a Test Manager, you are the person who takes in charge these activities. However,you are at the highest
position in the project team. Who will review your tasks and check the project management activities are
executed to the highest standard?
Well, SQA auditor is the person who reviews and checks the project management activities are executed to
the highest possible standard. Only through the result of this review, the Management Board can evaluate
the quality of your project handling.
This is the reason why we do need Management Review or SQA in Test Management process.
The SQA interviews you, the Test Manager, to benchmark the project against set standards.
1 Customer focus
Organizations can establish this focus by trying to understand and meet their customers’ current and future
requirements and expectations.
2 Leadership
Organizations succeed when leaders establish and maintain the internal environment in which employees
can become fully involved in achieving the organization’s unified objectives.
3 Involvement of people
4 Process approach
Organizations enhance their performance when leaders manage and control their processes, as well as the
inputs and outputs that tie these processes together.
Organizations sustain success when processes are managed as one coherent quality management system.
6 Continuous improvement
Organizations will maintain current levels of performance, respond to changing conditions, and identify,
create and exploit new opportunities when they establish and sustain an ongoing focus on improvement.
Organizations succeed when they have established an evidence-based decision making process that entails
gathering input from multiple sources, identifying facts, objectively analyzing data, examining cause/effect,
and considering potential consequences.
8 Mutually beneficial supplier relationships
Organizations that carefully manage their relationships with suppliers and partners can nurture positive and
productive involvement, support and feedback from those entities.
These principles form the conceptual foundation for the ISO portfolio of quality management standards and
serve as the basis for the Good Manufacturing Practices (GMP), Good Clinical Practices (GCP), and Good
Laboratory Practices (GLP) required by most government regulatory bodies.
Ans- The International Organization for Standardization (ISO /ˈaɪsoʊ/) is aninternational standard-setting
body composed of representatives from various national standards organizations.
Founded on 23 February 1947, the organization promotes worldwide proprietary, industrial and
commercial standards.
Regulators and governments count on ISO standards to help develop better regulation, knowing they have a
sound basis thanks to the involvement of globally-established experts.
To find out more about how ISO's 22459 standards touch almost all aspects of daily life, and work for
businesses large and small,
Management Responsibility
Quality System
Order Entry
Design Control
Purchasing
Process Control
Training
Servicing
Statistical Techniques
Benefits of ISO-
Increased marketability
Q-10 a) What is six sigma? Explain the term DMAIC & DMADV? [17=6+6+5]
Ans- Six Sigma can also be thought of as a measure of process performance, with Six Sigma being the goal,
based on the defects per million. Once the current performance of the process is measured, the goal is to
continually improve the sigma level striving towards 6 sigma. Even if the improvements do not reach 6 sigma,
the improvements made from 3 sigma to 4 sigma to 5 sigma will still reduce costs and increase customer
satisfaction.
The 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.
The 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.
For more information on the fundamentals of these processes, please visit our detailed informational pages
on DMAIC and DMADV.
Q-10 b) Define Software Quality & Software Quality Assurance. List the various objectives of SQA.
Ans- SOFTWARE QUALITY is the degree of conformance to explicit or implicit requirements and expectations.
Explanation
SOFTWARE QUALITY ASSURANCE (SQA) is a set of activities for ensuring quality in software engineering
processes (that ultimately result in the quality of software products).
SQA Activities
Auditing
Training
SQA Processes
Processes include:
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:
The quality management system under which the software system is created is normally based on one or
more of the following models/standards:
CMMI
Six Sigma
ISO 9000
Software Quality Assurance encompasses the entire software development lifecycle and the goal is to ensure
that the development and/or maintenance processes are continuously improved to produce products that
meet specifications/requirements.
Q-10 c) How cost and risk factors are affecting software quality.
Ans- Cost is the main driving factor for all projects. When it is done correctly, it helps in the successful
completion of the project. In this research we have discussed various factors that affect the estimation
procedure. These include team structure, team culture, managerial style, project type (Core application or
integrated application), client’s working environment.
Accurate estimation is far difficult in developing countries where most of the organizations follow local
standards. These inaccurate estimations lead to late delivery, less profit or in worst case complete failure.
Software requirement gathering, development, maintenance, quality assurance and cost of poor quality are
major groups responsible for overall cost in software production process.
The exact proportion among them varies significantly in consecutive software releases, which is caused by
many factors. The ever increasing need for the reliability of the software systems, especially mission critical
applications in the public safety domain, raises the bar for the accuracy of prediction and estimation
techniques.
The accuracy of estimations in many areas brings about more concerns regarding techniques already used in
the software industry. Widely deployed techniques, such as Wideband Delphi method, stress the engineering
and technical aspects of the process of how estimates are prepared
“Risk is future uncertain events with a probability of occurrence and a potential for loss”
Risk identification and management are the main concerns in every software project. Effective analysis of
software risks will help to effective planning and assignments of work.
Categories of Risks
Schedule Risk:
Project schedule get slip when project tasks and schedule release risks are not addressed properly.
Schedule risks mainly affect a project and finally on company economy and may lead to project failure.
Resources are not tracked properly. All resources like staff, systems, skills of individuals etc.
Failure to identify complex functionalities and time required to develop those functionalities.
Budget Risk:
Cost overruns
Insufficient resources
No resource planning
Technical risks:
Technical risks generally lead to failure of functionality and performance.
Causes of technical risks are:
Programmatic Risks:
These are the external risks beyond the operational limits. These are all uncertain risks are outside the
control of the program.
These external events can be:
Market development
Q-11 a) Enumerate Ishikawa seven basic quality tools. Explain any Two in Details. [17=6+6+5]
Ans-
1. Cause-and-effect diagram: (also called Ishikawa or fishbone chart): Identifies many possible causes for an
effect or problem and sorts ideas into useful categories.
2. Check sheet: A structured, prepared form for collecting and analyzing data; a generic tool that can be
adapted for a wide variety of purposes.
3. Control charts: Graphs used to study how a process changes over time. Comparing current data to
historical control limits leads to conclusions about whether the process variation is consistent (in control)
or is unpredictable (out of control, affected by special causes of variation).
4. Histogram: The most commonly used graph for showing frequency distributions, or how often each
different value in a set of data occurs.
5. Pareto chart: Shows on a bar graph which factors are more significant.
6. Scatter diagram: Graphs pairs of numerical data, one variable on each axis, to look for a relationship.
7. Stratification: A technique that separates data gathered from a variety of sources so that patterns can be
seen (some lists replace “stratification” with “flowchart” or “run chart”).
1. Histogram
Histogram introduced by Karl Pearson is a bar graph representing the frequency distribution on each bars.
The very purpose of Histogram is to study the density of data in any given distribution and understand the
factors or data that repeat more often.
Histogram helps in prioritizing factors and identify which are the areas that needs utmost attention
immediately.
A check sheet can be metrics, structured table or form for collecting data and analysing them. When the
information collected is quantitative in nature, the check sheet can also be called astally sheet.
The very purpose of checklist is to list down the important checkpoints or events in a tabular/metrics format
and keep on updating or marking the status on their occurrence which helps in understanding the progress,
defect patterns and even causes for defects.
Q-11 b) Describe Key element Total Quality Management?
Ans- Total Quality Management (TQM) is a management approach that originated in the 1950s and has
steadily become more popular since the early 1980s. Total quality is a description of the culture, attitude and
organization of a company that strives to provide customers with products and services that satisfy their
needs. The culture requires quality in all aspects of the company’s operations, with processes being done
right the first time and defects and waste eradicated from operations.
TQM requires the help of those eight key elements. These elements can be divided into four groups
according to their function.
To be successful implementing TQM, an organization must concentrate on the eight key elements:
1. Ethics
2. Integrity
3. Trust
4. Training
5. Teamwork
6. Leadership
7. Recognition
8. Communication
Foundation
The entire process of Total Quality Management is built on a strong foundation of Ethics, Integrity and Trust.
Total Quality Management involves every single employee irrespective of his designation and level in the
hierarchy.
Ethics: Ethics is an individual’s understanding of what is good and bad at the workplace. A thin line of
difference does exist between good and bad, which is for you to decide. Ethics teach an individual to follow
code of conduct of organization and adhere to rules and regulations.
Integrity: Integrity refers to honesty, values and an individual’s sincerity at workplace. You need to respect
your organization’s policies. Avoid spreading unnecessary rumours about your fellow workers. Total Quality
Management does not work in an environment where employees criticize and backstab each other.
Trust: Trust is one of the most important factors necessary for implementation of total quality management.
Employees need to trust each other to ensure participation of each and every individual. Trust improves
relationship among employees and eventually helps in better decision making which further helps in
implementing total quality management successfully.
Bricks
Bricks are placed on a strong foundation to reach the roof of recognition. The foundation needs to be strong
enough to hold the bricks and support the roof.
Training: Employees need to be trained on Total Quality Management. Managers need to make their fellow
workers aware of the benefits of total quality management and how would it make a difference in their
product quality and eventually yield profits for their organization. Employees need to be trained on
interpersonal skills, the ability to work as a team member, technical know-how, decision making skills,
problem solving skills and so on. Training enables employees to implement TQM effectively within their
departments and also make them indispensable resources.
Teamwork: Team work is a crucial element of total quality management. Rather than working individually,
employees need to work in teams. When individuals work in unison, they are in a position to brainstorm
ideas and come up with various solutions which would improve existing processes and systems. Team
members ought to help each other to find a solution and put into place.
Leadership: Leadership provides a direction to the entire process of Total Quality Management. Total Quality
Management needs to have a supervisor who acts as a strong source of inspiration for other members and
can assist them in decision making. A leader himself needs to believe in the entire process of TQM for others
to believe in the same. Proper downloads, briefs about TQM must be given from to time to employees to
help them in its successful implementation.
Binding Mortar
Downward Communication: Flow of information takes place from the management to the employees
Upward Communication: Flow of information takes place from the employees to the top level management
Roof
Recognition: Recognition is the final element of Total Quality Management. Recognition is the most
important factor which acts as a catalyst and drives employees to work hard as a team and deliver their lever
best. Every individual is hungry for appreciation and recognition. Employees who come up with improvement
ideas and perform exceptionally well must be appreciated in front of all. They should be suitably rewarded to
expect a brilliant performance from them even the next time.
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.
Defect Density
Customer Problems
Customer Satisfaction
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,
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 −
Ans- The origin of the TQM goes back to the time of the First World War.
In TQM, the processes and initiatives that produce products or services are thoroughly managed. By this way
of managing, process variations are minimized, so the end product or the service will have a predictable
quality level.
Top management - The upper management is the driving force behind TQM. The upper management
bears the responsibility of creating an environment to rollout TQM concepts and practices.
Training needs - When a TQM rollout is due, all the employees of the company need to go through a
proper cycle of training. Once the TQM implementation starts, the employees should go through
regular trainings and certification process.
Customer orientation - The quality improvements should ultimately target improving the customer
satisfaction. For this, the company can conduct surveys and feedback forums for gathering customer
satisfaction and feedback information.
Involvement of employees - Pro-activeness of employees is the main contribution from the staff. The
TQM environment should make sure that the employees who are proactive are rewarded
appropriately.
Techniques and tools - Use of techniques and tools suitable for the company is one of the main
factors of TQM.
Corporate culture - The corporate culture should be such that it facilitates the employees with the
tools and techniques where the employees can work towards achieving higher quality.
Continues improvements - TQM implementation is not a one time exercise. As long as the company
practices TQM, the TQM process should be improved continuously.
The Cost
Some companies are under the impression that the cost of TQM is higher than the benefits it offers. This
might be true for the companies in small scale, trying to do everything that comes under TQM.
According to a number of industrial researches, the total cost of poor quality for a company always exceeds
the cost of implementing TQM.
In addition, there is a hidden cost for the companies with poor quality products such as handling customer
complaints, re-shipping, and the overall brand name damage.
Ans-
i) Pareto Chart
A Pareto chart is a bar graph. The lengths of the bars represent frequency or cost (time or money),
and are arranged with longest bars on the left and the shortest to the right. In this way the chart
visually depicts which situations are more significant.
When there are many problems or causes and you want to focus on the most significant.
Analyze the occurrences of up to 10 defects. Start by entering the defects on the check sheet. This
tool creates a Pareto chart using the data you enter.
i) Scatter Diagram
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.
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:
ii) After brainstorming causes and effects using a fishbone diagram, to determine objectively
whether a particular cause and effect are related.
iii) When determining whether two effects that appear to be related both occur with the
same cause.
The ZZ-400 manufacturing team suspects a relationship between product purity (percent purity) and
the amount of iron (measured in parts per million or ppm). Purity and iron are plotted against each
other as a scatter diagram, as shown in the figure below.
There are 24 data points. Median lines are drawn so that 12 points fall on each side for both percent
purity and ppm iron.
Then they look up the limit for N on the trend test table. For N = 24, the limit is 6.
Q is equal to the limit. Therefore, the pattern could have occurred from random chance, and no
relationship is demonstrated.
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.
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. This Diagram is used
2. Brainstorm the major categories of causes of the problem. If this is difficult use generic headings:
o Methods
o Machines (equipment)
o People (manpower)
o Materials
o Measurement
o Environment
4. Brainstorm all the possible causes of the problem. Ask “Why does this happen?” As each idea is
given, the facilitator writes it as a branch from the appropriate category. Causes can be written in
several places if they relate to several categories.
5. Again ask “Why does this happen?” about each cause. Write sub-causes branching off the causes.
Continue to ask “Why?” and generate deeper levels of causes. Layers of branches indicate causal
relationships.
6. When the group runs out of ideas, focus attention to places on the chart where ideas are few.
This fishbone diagram was drawn by a manufacturing team to try to understand the source of periodic iron
contamination. The team used the six generic headings to prompt ideas. Layers of branches show thorough
thinking about the causes of the problem.
Q-12 c) Describe in details Defect Removal Effectiveness.
Calculation
To be able to calculate that metric, it is important that in your defect tracking system you track:
affected version, version of software in which this defect was found.
release date, date when version was released
DRE = Number of defects resolved by the development team / total number of defects at the moment of
measurement.
DRE is typically measured at the moment of version release, the best visualization is just to show current
value of DRE as a number.
Example
For example, suppose that 100 defects were found during QA/testing stage and 84 defects were resolved by
the development team at the moment of measurement. The DRE would be calculated as 84 divided by 100 =
84%
*****************************************THE END*********************************