Software Engineering Question Answers

Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

Software Engineering

1.Compute the Fog index of this question. What does the Fog index
signify? How is the Fog index useful in producing good software
documentation?
The fog index refers to a readability test that aims to determine the level of text difficulty, or how
easy a text is to read. The index provides a reader with the number of years of education that he or
she hypothetically needs to understand and digest a particular text on the first reading.

How to Calculate the Fog Index

To calculate a fog index score, we need to know the three following components:

1. Average sentence length


2. Percentage of long words present in the text
3. Sum of the average sentence length and the percentage of long words

To calculate the average sentence length, we need to divide the number of words by the
number of sentences in a text sample.

To find the percentage of long words, we divide the number of long words by the total
number of words and multiply the result by 100. A long word is defined as a word with at
least three syllables.

Finally, the sum between the average sentence length and the percentage of long words is
computed to arrive at the fog index.

There are a few exceptions to what is defined as a long word. Here is a list of the exceptions
for long words:

• Words starting with a capital letter such as company names


• Combined “short-words” such as “share-holders” or “over-draft”
• Words with three syllables just because we added “ed” or “es” (e.g., created or
practices)
• Short three-syllable words, such as “media”
Purpose : -

The fog index refers to a readability test that aims to determine the level of text difficulty, or how
easy a text is to read. The index provides a reader with the number of years of education that he or
she hypothetically needs to understand and digest a particular text on the first reading.

2. What do you mean by Equivalence partitioning?Give


example. Suppose we have a program for Date from
1st to 31st. Write down the test cases for this program.
Equivalence Partitioning Method is also known as Equivalence class partitioning (ECP). It is a
software testing technique or black-box testing that divides input domain into classes of data, and
with the help of these classes of data, test cases can be derived. An ideal test case identifies class of
error that might require many arbitrary test cases to be executed before general error is observed.

In equivalence partitioning, equivalence classes are evaluated for given input conditions. Whenever
any input is given, then type of input condition is checked, then for this input conditions,
Equivalence class represents or describes set of valid or invalid states.
Test cases for Date Picker box

1. Check the calendar component is active when the date boxes are clicked.
2. Check if the calendar component loads properly after click on any date box.
3. Check if the calendar control is by default shows the date, month, year as per the
system date.
4. Check if the calendar control is as per dd/mm/yy or mm/dd/yy format.
5. Check if the calendar component allows 10 years forward and backward to select the
dates.
6. Check if the calendar component allows to scroll month field forward and backward.
7. Check if the today’s date is highlighted or not for default selection of the date box.
8. Check if the prev and next links are navigable in the date picker control.
9. Click on the date field select the date and verify if the correct date is shown in the
box.
10. Click on the date field select the date and verify if the date shown is in mm/dd/yy
format.
11. Click on the date field and check if the right month and year for date picker is shown.

Test Cases for Editable Date field

You can see the screenshot below to see how the editable date field box works.

1. Check if the form accepts the valid month, date, year in mm/dd/yy format.
2. Check if the form accepts the month, year, date in dd/mm/yy format.
3. Check if the wrong month, year and date format is accepted. in yy/dd/mm
4. Check if the field accepts the input in more than 2 digits.
5. Check if the field accepts the input as blank.
6. Check if the field accepts any other symbol than backward or forward slash.
7. Check if the field accepts special character instead of the dates.
8. Check if the field accepts invalid order of the date.
9. Check if the field accepts hypen instead of backward or forward slash.
10. Check if the field accepts more than 4 digits for the year.
11. Check if the field accepts zero in all fields of the box.
12. Check if the field accepts blank field for one of the part of the date format.
13. Check the format of the date accepted and verify if it is according to the specification.
14. Check if the field accepts alphabets in the date format.
15. Check if the date as 32 is accepted or not.
16. Check if the month field accepts 13 or higher number or flags errors.
17. Check if the year is accepted in 3 digits or 2 digits.
18. Check if the year field accepts year entered 10 years backward or forward.
19. Check if the February 30 or 31 is accepted in the date format.
20. Check if the decimal point is accepted instead of hyphen or slashes (- or /).
21. Check if the blank spaces are accepted in the date format fields.
22. Check the blank space in the random sequence in the correct date format and see if the
input is accepted.

Example-1:
Let us consider an example of any college admission process. There is a college that gives
admissions to students based upon their percentage.

Consider percentage field that will accept percentage only between 50 to 90 %, more and
even less than not be accepted, and application will redirect user to an error page. If
percentage entered by user is less than 50 %or more than 90 %, that equivalence partitioning
method will show an invalid percentage. If percentage entered is between 50 to 90 %, then
equivalence partitioning method will show valid percentage.

Example 2:
Let us consider an example of an online shopping site. In this site, each of products has a
specific product ID and product name. We can search for product either by using name of
product or by product ID. Here, we consider search field that accepts only valid product ID or
product name.
Let us consider a set of products with product IDs and users wants to search for Mobiles.
Below is a table of some products with their product Id.

Product Product ID
Mobiles 45
Laptops 54
Pen Drives 67
Keyboard 76
Headphones 34

If the product ID entered by user is invalid then application will redirect customer or user to
error page. If product ID entered by user is valid i.e. 45 for mobile, then equivalence
partitioning method will show a valid product ID.

Example-3 :
Let us consider an example of software application. There is function of software application
that accepts only particular number of digits, not even greater or less than that particular
number.

Consider an OTP number that contains only 6 digit number, greater and even less than six
digits will not be accepted, and the application will redirect customer or user to error page. If
password entered by user is less or more than six characters, that equivalence partitioning
method will show an invalid OTP. If password entered is exactly six characters, then
equivalence partitioning method will show valid OTP.
4. What do you mean by testing terminologies- Error,
Bug, Test case, Test suit. Give examples.
Error: Error is a situation that happens when the Development team or the developer fails to
understand a requirement definition and hence that misunderstanding gets translated to buggy
code. This situation is referred to as an Error and is mainly a term coined by the developers.

Bug: A bug refers to defects which means that the software product or the application is not working
as per the adhered requirements set. When we have any type of logical error, it causes our code to
break, which results in a bug. It is now that the Automation/ Manual Test Engineers describe this
situation as a bug. A bug once detected can be reproduced with the help of standard bug reporting
templates.

Test case: A Test Case is a set of actions executed to verify a particular feature or functionality of
your software application. A Test Case contains test steps, test data, precondition, postcondition
developed for specific test scenario to verify any requirement. The test case includes specific
variables or conditions, using which a testing engineer can compare expected and actual results to
determine whether a software product is functioning as per the requirements of the customer.

Test Suite:Test suite is a container that has a set of tests which helps testers in executing and
reporting the test execution status. It can take any of the three states namely Active,
InProgress and completed.

A Test case can be added to multiple test suites and test plans. After creating a test plan, test
suites are created which in turn can have any number of tests.Test suites are created based on
the cycle or based on the scope. It can contain any type of tests, viz - functional or Non-
Functional.
• Defect: A defect refers to the situation when the application is not working as per the
requirement and the actual and expected result of the application or software are not in sync
with each other.
• Fault: Sometimes due to certain factors such as Lack of resources or not following proper
steps Fault occurs in software which means that the logic was not incorporated to handle the
errors in the application. This is an undesirable situation, but it mainly happens due to invalid
documented steps or a lack of data definitions.
• Failure: Failure is the accumulation of several defects that ultimately lead to Software
failure and results in the loss of information in critical modules thereby making the system
unresponsive. Generally, such situations happen very rarely because before releasing a
product all possible scenarios and test cases for the code are simulated. Failure is detected by
end-users once they face a particular issue in the software.

Difference between Inspection and Walkthrough


1. Walkthrough :
Walkthrough is a method of conducting informal group/individual review. In a walkthrough,
author describes and explain work product in a informal meeting to his peers or supervisor to
get feedback. Here, validity of the proposed solution for work product is checked.

It is cheaper to make changes when design is on the paper rather than at time of conversion.
Walkthrough is a static method of quality assurance. Walkthrough are informal meetings but
with purpose.

2. Inspection :
An inspection is defined as formal, rigorous, in depth group review designed to identify
problems as close to their point of origin as possible. Inspections improve reliability,
availability, and maintainability of software product.

Anything readable that is produced during the software development can be inspected.
Inspections can be combined with structured, systematic testing to provide a powerful tool for
creating defect-free programs.

Inspection activity follows a specified process and participants play well-defined roles.
An inspection team consists of three to eight members who plays roles of moderator, author,
reader, recorder and inspector.

For example, designer can acts as inspector during code inspections while a quality
assurance representative can act as standard enforcer.

Stages in the inspections process :

• Planning : Inspection is planned by moderator.


• Overview meeting : Author describes background of work product.
• Preparation : Each inspector examines work product to identify possible defects.
• Inspection meeting : During this meeting, reader reads through work product, part by
part and inspectors points out the defects for every part.
• Rework : Author makes changes to work product according to action plans from the
inspection meeting.
• Follow-up : Changes made by author are checked to make sure that everything is
correct.
• Difference between Inspection and Walkthrough:

S.No. Inspection Walkthrough


1. It is formal. It is informal.
2. Initiated by project team. Initiated by author.
3. A group of relevant persons Usually team members of the same
from different departments project take participation in the
participate in the inspection. walkthrough. Author himself acts
walkthrough leader.
4. Checklist is used to find No checklist is used in the walkthrough.
faults.
5. Inspection processes includes Walkthrough process includes overview,
overview, preparation, little or no preparation, little or no
inspection, and rework and preparation examination (actual
follow up. walkthrough meeting), and rework and
follow up.
6. Formalized procedure in No formalized procedure in the steps.
each step.
7. Inspection takes longer time Shorter time is spent on walkthrough as
as list of items in checklist is there is no formal checklist used to
tracked to completion. evaluate program.
8. Planned meeting with the Unplanned
fixed roles assigned to all the
members involved.
9. Reader reads product code. Author reads product code and his
Everyone inspects it and teammate comes up with the defects or
comes up with detects. suggestions.
10. Recorder records the defects. Author make a note of defects and
suggestions offered by teammate.
11. Moderator has a role that Informal, so there is no moderator.
moderator making sure that
the discussions proceed on
the productive lines.

Types of Defects in Software Development


Defects are defined as the deviation of the actual and expected result of system or software
application. Defects can also be defined as any deviation or irregularity from the
specifications mentioned in the product functional specification document. Defects are
caused by the developer in development phase of software. When a developer or programmer
during the development phase makes some mistake then that turns into bugs that are called
defects. It is basically caused by the developers’ mistakes.

Defect in a software product represents the inability and inefficiency of the software to meet
the specified requirements and criteria and subsequently prevent the software application to
perform the expected and desired working.

Types of Defects:
Following are some of the basic types of defects in the software development:

1. Arithmetic Defects:
It include the defects made by the developer in some arithmetic expression or mistake in
finding solution of such arithmetic expression. This type of defects are basically made by
the programmer due to access work or less knowledge. Code congestion may also lead to
the arithmetic defects as programmer is unable to properly watch the written code.
2. Logical Defects:
Logical defects are mistakes done regarding the implementation of the code. When the
programmer doesn’t understand the problem clearly or thinks in a wrong way then such
types of defects happen. Also while implementing the code if the programmer doesn’t
take care of the corner cases then logical defects happen. It is basically related to the core
of the software.
3. Syntax Defects:
Syntax defects means mistake in the writing style of the code. It also focuses on the small
mistake made by developer while writing the code. Often the developers do the syntax
defects as there might be some small symbols escaped. For example, while writing a code
in C++ there is possibility that a semicolon(;) is escaped.
4. Multithreading Defects:
Multithreading means running or executing the multiple tasks at the same time. Hence in
multithreading process there is possibility of the complex debugging. In multithreading
processes sometimes there is condition of the deadlock and the starvation is created that
may lead to system’s failure.
5. Interface Defects:
Interface defects means the defects in the interaction of the software and the users. The
system may suffer different kinds of the interface testing in the forms of the complicated
interface, unclear interface or the platform based interface.
6. Performance Defects:
Performance defects are the defects when the system or the software application is unable
to meet the desired and the expected results. When the system or the software application
doesn’t fulfill the users’s requirements then that is the performance defects. It also
includes the response of the system with the varying load on the system.
Derive DFD and Data dictionary for the following problem:
A software system called RMS calculating software would read
three integral numbers from
the user in the range of –1000 and +1000 and would determine
the root mean square (RMS) of the three input numbers and
display it.

LVL 2 DFD
Difference between Function Oriented Design and Object-Oriented
Design
1. Function Oriented Design :
Function oriented design is the result of focusing attention to the function of the program.
This is based on the stepwise refinement. Stepwise refinement is based on the iterative
procedural decomposition. Stepwise refinement is a top-down strategy where a program is
refined as a hierarchy of increasing levels of details.

We start with a high level description of what the program does. Then, in each step, we take
one part of our high level description and refine it. Refinement is actually a process of
elaboration. The process should proceed from a highly conceptual model to lower level
details. The refinement of each module is done until we reach the statement level of our
programming language.

2. Object Oriented Design :


Object oriented design is the result of focusing attention not on the function performed by the
program, but instead on the data that are to be manipulated by the program. Thus, it is
orthogonal to function -oriented design. Object-oriented design begins with an examination
of the real world “things”. These things are characteristics individually in terms of their
attributes and behavior.

Objects are independent entities that may readily be changed because all state and
representation information is held within the object itself. Object may be distributed and may
execute sequentially or in parallel. Object oriented technology contains following three
keywords –
1. Objects –
Software package are designed and developed to correspond with real world entities
that contain all the data and services to function as their associated entities messages.

2. Communication –
Communication mechanisms are established that provide the means by which object
work together.

3. Methods –
Methods are services that objects perform to satisfy the functional requirements of the
problem domain. Objects request services of the other objects through messages.

4. Difference Between Function Oriented Design and Object Oriented Design :

COMPARISON FUNCTION ORIENTED OBJECT ORIENTED DESIGN


FACTORS DESIGN
Abstraction The basic abstractions, which The basic abstractions are not the
are given to the user, are real real world functions but are the data
world functions. abstraction where the real world
entities are represented.
Function Functions are grouped Function are grouped together on the
together by which a higher basis of the data they operate since
level function is obtained. the classes are associated with their
methods.
execute carried out using structured Carried out using UML
analysis and structured design
i.e, data flow diagram
State information In this approach the state In this approach the state information
information is often is not represented is not represented
represented in a centralized in a centralized memory but is
shared memory. implemented or distributed among
the objects of the system.
Approach It is a top down approach. It is a bottom up approach.
Begins basis Begins by considering the use Begins by identifying objects and
case diagrams and the classes.
scenarios.
Decompose In function oriented design We decompose in class level.
we decompose in
function/procedure level.
Use This approach is mainly used This approach is mainly used for
for computation sensitive evolving system which mimics a
application. business or business case.
7. The different activities of the library of our institute pertaining to the issue and
return of the books by the members of the library and various queries regarding
books as listed below are to be automated. Perform structured analysis and
structured design for this Library
Information System (LIS) software:
• The library has 10,000 books. Each book is assigned a unique identification
number (called ISBN number). The Library clerk should be able to enter the
details of the book into the LIS through a suitable interface.
• There are four categories of members of the library— undergraduate students,
post graduate students, research scholars, and faculty members.
• Each library member is assigned a unique library membership code number.
• Each undergraduate student can issue up to 2 books for 1 month duration.
• Each postgraduate student ca n issue up to 4 books for 1 month duration.
• Each research scholar can issue up to 6 books for 3 months duration.
• Each faculty member can issue up to 10 books for six months duration.
• The LIS should answer user queries regarding whether a particular book is
available. If a book is available, LIS should display the rack number in which the
book is available and the number of copies available.
• LIS registers each book issued to a member. When a member returns a book,
LIS deletes the book from the member’s account and makes the book available
for future issue.
• Members should be allowed to reserve books which have been issued. When
such a reserved book is returned, LIS should print a slip for the concerned
member to get the book issued and should disallow issue of the book to any other
member for a period of seven days or until the member who has reserved the
books gets it issued.
• When a member returns a book, LIS prints a bill for the penalty charge for
overdue books.
LIS calculates the penalty charge by multiplying the number of days the book is
overdue by the penalty rate.
• LIS prints reminder messages for the members against whom books are overdue,
upon a request by the Librarian.
• LIS should allow the Librarian to create and delete member records. Each member
should be allocated a unique membership identification number which the member
can use to issue, return, and reserve books
Ans Structural and Design Analysis

3.2. Main Data Definition of System

The basic definition of student entity and attribute: student user (student number, name,
gender, class, list of borrowed books, number of borrowed books, contact number, password).
The basic definition of book entity and attribute: books (book number, book name, author,
unit price, the number of user’s borrowed books, the borrower’s number, the total number,
whether to lend).

Basic definitions of administrator entities and attributes: Administrator (account number,


name, password).
3.3. Design Thoughts of Core Performance Function

8. Distinguish between error, fault and failure.


We have listed some of the vital differences between bug, defect, error, fault, and failure
in the below table.

Comparis Bug Defect Error Fault Failure


on basis
Definition It is an informal The Defect is An Error is a The Fault is a If the
name specified the mistake made state that causes software
to the defect. difference in the code; the software to has lots of
between the that's why we fail to accomplish defects, it
actual cannot execute its essential leads to
outcomes or compile function. failure or
and expected code. causes
outputs. failure.
Raised by The Test The Testers The Developers Human mistakes The failure
Engineers identify the and cause fault. finds by the
submit the bug. defect. And it automation manual test
was also test engineers engineer
solved by the raise the error. through the
developer in developme
the nt cycle.
development
phase or
stage.
Different Different type Different Different type Different type of -----
types of bugs are as type of of Error is as Fault are as
follows: Defects are below: follows:
as follows:
• Logic Based on • Syntacti • Business
bugs priority: c Error Logic
• Algorith • User Faults
mic • High interfac • Function
bugs • Medi e error al and
• Resourc um • Flow Logical
e bugs • Low control Faults
error • Faulty
GUI
And based on • Error • Performa
the severity: handlin nce
g error Faults
• Critic • Calculat • Security
al ion Faults
• Majo error • Software
r • Hardwa /
• Mino re error hardwar
r • Testing e fault
• Trivia Error
l

Reasons Following are The below The reasons for The reasons Following
behind reasons which reason leads having an error behind the fault are some of
may cause the to the are as follows: are as follows: the most
bugs: defects: Errors in the A Fault may important
Missing coding Giving code. occur by an reasons
Wrong coding incorrect and The Mistake of improper step in behind the
Extra coding wrong inputs. some values. the initial stage, failure:
Dilemmas If a developer is process, or data Environmen
and errors in unable to definition. tal
the outside compile or run Inconsistency or condition
behavior and a program issue in the System
inside successfully. program. usage
structure and Confusions and An irregularity or Users
design. issues in loophole in the Human
An error in programming. software that error
coding or Invalid login, leads the
logic affects loop, and software to
the software syntax. perform
and causes it Inconsistency improperly.
to between actual
breakdown and expected
or the failure. outcomes.
Blunders in
design or
requirement
actions.
Misperception
in
understanding
the
requirements
of the
application.
Way to Following are With the help Below are ways
prevent the way to stop of the to prevent the
the the bugs: following, we Errors:
reasons Test-driven can prevent Enhance the
development. the Defects: software
Offer Implementin quality with
programming g several system review
language innovative and
support. programming programming.
Adjusting, methods. Detect the
advanced, and Use of issues and
operative primary and prepare a
development correct suitable
procedures. software mitigation plan.
Evaluating the development Validate the
code techniques. fixes and verify
systematically. Peer review their quality
It is executing and precision.
consistent
code reviews
to evaluate
its quality
and
correctness.

8. Explain the concepts of I, S and O with respect to testing.

1. Integration Testing

The objective is to take unit-tested components and build a program structure that has been
dictated by design. Integration testing is testing in which a group of components is combined
to produce output.

Integration testing is of four types: (i) Top-down (ii) Bottom-up (iii) Sandwich (iv) Big-Bang
Example:

(a) Black Box testing:- It is used for validation.


In this, we ignore internal working mechanisms and
focus on what is the output?.

(b) White box testing:- It is used for verification.


In this, we focus on internal mechanisms i.e.
how the output is achieved?

2. System Testing

This software is tested such that it works fine for the different operating systems. It is covered
under the black box testing technique. In this, we just focus on the required input and output
without focusing on internal working.
In this, we have security testing, recovery testing, stress testing, and performance testing
Example:

This includes functional as well as nonfunctional


testing
3. Object-Oriented Testing

This testing is a combination of various testing techniques that help to verify and validate
object-oriented software. This testing is done in the following manner:

• Testing of Requirements,
• Design and Analysis of Testing,
• Testing of Code,
• Integration testing,
• System testing,
• User Testing.

9. Why Big-Bang Testing will not be accepted for a large scale


project?
Ans It is not suitable for large projects. A long or large project necessitates multiple
procedures, such as service level agreements, planning, preparation, analysis, testing, and
execution, which the Big Bang approach lacks. As a consequence, it is the worst model for a
major project.
• This model is highly uncertain and risky.
• If the requirements are not clear, it can turn out to be very expensive.

• It is inherently unreliable.
10. Device a Top down Integration plan for a large scale
application of Payroll System.

11. Design equivalence class partitioning test suite for a function


that reads a character string of
size less than five characters and displays whether it is a
palindrome
12. For a function that computes the square root of the integer
values in the range of 0 and 5000, determine the boundary value
test suite.
13. What is stress testing? Why is stress testing applicable to only
certain types of systems?
Stress Testing is testing used to check the accessibility and robustness of software
beyond usual functional limits. It mainly considers for critical software but it can also be
used for all types of software applications.

It is also known as Endurance Testing, fatigue testing or Torture Testing.


The stress testing includes the testing beyond standard operational size, repeatedly to a
breaking point, to get the outputs.

It highlights the error handling and robustness under a heavy load instead of correct
behavior under regular conditions.

In other words, we can say that Stress testing is used to verify the constancy and
dependability of the system and also make sure that the system would not crash under
disaster circumstances.

To analyses how the system works under extreme conditions, we perform stress testing
outside the normal load.

Stress testing is typically only used to test business-critical systems and applications in
order to find ways to improve their endurance or create failsafes, rather than to
establish any sort of performance baseline or find specific defects.

14. What do you mean by regression testing? When is regression testing


carried out? Why is regression testing necessary? How are regression test
cases designed? How is regression testing performed?

What - Regression testing is a black box testing technique, used to authenticate a code
change in the software, does not impact the existing functionality of the product. Regression
testing is making sure that the product works fine with new functionality, bug fixes, or any
change in the existing feature.

When - Regression testing is performed to find out whether the updates or changes had
caused new defects in the existing functions. This step would ensure the unification of the
software.

Why - Regression testing is also crucial in providing additional test executions to ensure
the viability of changes made to program codes.

How - Best Practices in Identifying Test Cases for Regression Suite according to
priority:

1. Select test cases with frequent defects


2. Choose test cases with critical functionalities
3. Select test cases with frequent code changes
4. Cover end-to-end test flows
5. Cover field validation test cases

Regression testing can be performed using the following techniques:


1. Re-test All:

• Re-Test is one of the approaches to do regression testing.


• In this approach, all the test case suits should be re-executed.
• when a test fails, and we determine the cause of the failure is a software fault. The fault
is reported, we can expect a new version of the software in which defect fixed.
• In this case, we will need to execute the test again to confirm that the fault fixed. This is
known as re-testing or confirmation testing.

2. Regression test Selection:

• a selected test-case suit will execute rather than an entire test-case suit.
• The selected test case suits divided in two cases
• Reusable Test cases. - can use in succeeding regression cycle.
• Obsolete Test cases. - can't use in succeeding regression cycle.

3. Prioritization of test cases:

Prioritize the test case depending on business impact, critical and frequently functionality
used. Selection of test cases will reduce the regression test suite.

15. Design the black-box test suite for a function named quadraticsolver.
The quadratic-solver function accepts three floating point numbers (a, b, c)
representing a quadratic equation of the form ax2 + bx + c = 0. It computes
and displays the solution
16. Suppose as the president of a company, you have the choice to either go
for ISO 9000 based quality model or SEI CMM based model, which one
would you prefer? Give the reasoning behind your choice.

It depends on where my company is on maturity journey. I need to do a diagnostic study


to really find out how I am doing on

• Product or service Quality

• Process Performance

• People performance.

If I could do that with the help of an unbiased survey with data on


a) Client returns or complaints

b) In process rejections and so on, I would be in a position to decide what is to be done


first.

Prof. Shoji Shiba speaks of companies travelling through three stages in Quality journey.
Initiation alignment and Self navigation.

If I find that my product quality is not comparable to my competitors (in select segments)
and the in house rejections are more than 200 PPM in case you are in manufacturing (
cost of poor quality around 20%) , then I would go for ISO 9001.

If I find I am a benchmark company with relatively excellent quality but have problems
with sustaining the process performance indicators, I will go for SEI CMM or better still a
beautiful standard called ISO 9004.

17. What do you understand by total quality management (TQM)?


What are the advantages of TQM? Does ISO 9000 standard aim for
TQM?
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.

TQM can be defined as a management technique for improving processes, products,


services and the other approaches associated with the product. It focusses on the entire
business and NOT just on a particular project or process.

Benefits of Total Quality Management

• Strengthened competitive position.


• Adaptability to changing or emerging market conditions and to environmental and
other government regulations.
• Higher productivity.
• Enhanced market image.
• Elimination of defects and waste.
• Reduced costs and better cost management.
• Higher profitability.

The ISO-9000 quality standard and total quality management (TQM) are both necessary for any
organization to become world class. ISO-9000 is total quality management. It requires management
of every process in an organization that impacts quality. While ISO-9000 is a clearly defined system,
TQM is a philosophy.

ISO-9000 addresses each of these areas to ensure that management has a plan in place to
prevent quality problems.
TQM is aimed at identifying the causes of quality problems and eliminating them. The theory
is that by involving everyone in solving quality problems, eventually all problems will be
eliminated and the company's quality will continue to get better and better.

18. What do you understand by key process area (KPA), in the context of SEI
CMM? Would there be any problem if an organisation tries to implement
higher level SEI CMM KPAs before achieving lower level KPAs? Justify your
answer using suitable examples

Ans Key Process Areas form the basis for management control of the software project and
establish a context in which technical methods are applied, work products like models,
documents, data, reports, etc. are produced, milestones are established, quality is ensured and
change is properly managed.

Would there be any problem if an organisation tries to implement higher level


SEI CMM KPAs before achieving lower level KPAs? Justify your answer using
suitable examples

Difference between ISO9000 and SEI-CMM


ISO 9000:
It is a set of International Standards on quality management and quality assurance developed
to help companies effectively document the quality system elements needed to an efficient
quality system.

SEICMM:
SEI (Software Engineering Institute), Capability Maturity Model (CMM) specifies an
increasing series of levels of a software development organization.

Difference between ISO9000 and SEI-CMM:

ISO 9000 SEICMM


ISO 9000 is a set of international standards on SEI (Software Engineering Institute),
quality management and quality assurance Capability Maturity Model (CMM)
developed to help companies effectively specifies an increasing series of levels
document the quality system elements needed to of a software development
an efficient quality system. organization.
Focus is customer supplier relationship, Focus on the software supplier to
attempting to reduce customer’s risk in choosing improve its interval processes to
a supplier. achieve a higher quality product for the
benefit of the customer.
It is created for hard goods manufacturing It is created for software industry.
industries.
ISO9000 is recognized and accepted in most of SEICMM is used in USA, less widely
the countries. elsewhere.
It specifies concepts, principles and safeguards CMM provides detailed and specific
that should be in place. definition of what is required for given
levels.
This establishes one acceptance level. It assesses on 5 levels.
Its certification is valid for three years. It has no limit on certification.
It focuses on inwardly processes. It focus outwardly.
It has no level. It has 5 levels:

(a). Initial
(b). Repeatable
(c). Defined
(d). Managed
(e). Optimized

It is basically an audit. It is basically an appraisal.


It is open to multi sector. It is open to IT/ITES.
Follow set of standards to make success It emphasizes a process of continuous
repeatable. improvement.

19. Given the following sample of pseudo code:

1 Input number of Sandwich

2 Input number of Iced tea

3 If Sandwich > 0 and Iced tea > 0 then

4 Input Do you want home delivery (Yes / No)

5 If home delivery = No?

6 Print Serve their order now

7 End if

8 End If

Write down the test case for which the statement 6 will be executed.

Answer : Sandwich = 1, Iced tea = 1, home delivery= no


Answer: SC=2,DC=2

You might also like