0% found this document useful (0 votes)
36 views19 pages

Software Engineering Important Questions and Answers

1. The document contains a question bank with questions related to Unit 1 of software requirements specifications (SRS). It includes questions about what SRS is, characteristics of SRS like correctness, completeness, consistency, and understandability. 2. The document also contains questions about software development life cycle (SDLC) activities, use case diagrams, nature of software, extreme programming, agile development, differences between sequence and collaboration diagrams, components of SRS, use case diagrams, sequence diagrams, and advantages and disadvantages of the waterfall model. 3. The questions cover topics related to SRS, SDLC methodologies, UML diagrams, and software engineering principles.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views19 pages

Software Engineering Important Questions and Answers

1. The document contains a question bank with questions related to Unit 1 of software requirements specifications (SRS). It includes questions about what SRS is, characteristics of SRS like correctness, completeness, consistency, and understandability. 2. The document also contains questions about software development life cycle (SDLC) activities, use case diagrams, nature of software, extreme programming, agile development, differences between sequence and collaboration diagrams, components of SRS, use case diagrams, sequence diagrams, and advantages and disadvantages of the waterfall model. 3. The questions cover topics related to SRS, SDLC methodologies, UML diagrams, and software engineering principles.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

Question Bank (Unit Wise)

Unit 1

1. What is SRS? Write characteristics of SRS.


Software Requirements Specifications, also known as SRS, is the term used to describe an in-depth
description of a software product to be developed.

1. Correctness:
User review is used to ensure the correctness of requirements stated in the SRS. SRS is said to be
correct if it covers all the requirements that are actually expected from the system.

2. Completeness:
Completeness of SRS indicates every sense of completion including the numbering of all the pages,
resolving the to be determined parts to as much extent as possible as well as covering all the
functional and non-functional requirements properly.

3. Consistency:
Requirements in SRS are said to be consistent if there are no conflicts between any set of
requirements. Examples of conflict include differences in terminologies used at separate places,
logical conflicts like time period of report generation, etc.

4. Unambiguousness:
A SRS is said to be unambiguous if all the requirements stated have only 1 interpretation. Some of the
ways to prevent unambiguousness include the use of modelling techniques like ER diagrams, proper
reviews and buddy checks, etc.

5. Ranking for importance and stability:


There should a criterion to classify the requirements as less or more important or more specifically as
desirable or essential. An identifier mark can be used with every requirement to indicate its rank or
stability.

6. Modifiability:
SRS should be made as modifiable as possible and should be capable of easily accepting changes to
the system to some extent. Modifications should be properly indexed and cross-referenced.

7. Verifiability:
A SRS is verifiable if there exists a specific technique to quantifiably measure the extent to which
every requirement is met by the system. For example, a requirement starting that the system must be
user-friendly is not verifiable and listing such requirements should be avoided.

8. Traceability:
One should be able to trace a requirement to design component and then to code segment in the
program. Similarly, one should be able to trace a requirement to the corresponding test cases.
9. Design Independence:
There should be an option to choose from multiple design alternatives for the final system. More
specifically, the SRS should not include any implementation details.

10. Testability:
A SRS should be written in such a way that it is easy to generate test cases and test plans from the
document.

11. Understandable by the customer:


An end user maybe an expert in his/her specific domain but might not be an expert in computer
science. Hence, the use of formal notations and symbols should be avoided to as much extent as
possible. The language should be kept easy and clear

2. State and explain the activities in SDLC.


Software Development Life Cycle (SDLC) is a process used by the software industry to design, develop
and test high quality softwares. The SDLC aims to produce a high-quality software that meets or exceeds
customer expectations, reaches completion within times and cost estimates.

3. Draw use case diagram for Car Rental System.

4. Write a short note on Nature of Software.


5. Explain the term Extreme Programming.
Extreme programming (XP) is one of the most important software development frameworks of Agile
models. It is used to improve software quality and responsiveness to customer requirements. The
extreme programming model recommends taking the best practices that have worked well in the past
in program development projects to extreme levels. Good practices need to be practiced in extreme
programming: Some of the good practices that have been recognized in the extreme programming
model and suggested to maximize their use are given below:
• Code Review: Code review detects and corrects errors efficiently. It suggests pair programming as
coding and reviewing of written code carried out by a pair of programmers who switch their works
between them every hour.
• Testing: Testing code helps to remove errors and improves its reliability. XP suggests test-driven
development (TDD) to continually write and execute test cases. In the TDD approach test cases are
written even before any code is written.
• Incremental development: Incremental development is very good because customer feedback is
gained and based on this development team comes up with new increments every few days after each
iteration.
• Simplicity: Simplicity makes it easier to develop good quality code as well as to test and debug it.
• Design: Good quality design is important to develop good quality software. So, everybody should
design daily.
• Integration testing: It helps to identify bugs at the interfaces of different functionalities. Extreme
programming suggests that the developers should achieve continuous integration by building and
performing integration testing several times a day.

6. Explain in detail Agile Development with diagram.


7. Differentiate between sequence diagram and collaboration diagram.

Sequence Diagrams Collaboration Diagrams

The sequence diagram represents the UML, The collaboration diagram also comes under
which is used to visualize the sequence of the UML representation which is used to
calls in a system that is used to perform a visualize the organization of the objects and
specific functionality. their interaction.

The collaboration diagram are used to


The sequence diagram are used to represent represent the structural organization of the
the sequence of messages that are flowing system and the messages that are sent and
from one object to another. received.

The sequence diagram is used when time The collaboration diagram is used when object
sequence is main focus. organization is main focus.

The collaboration diagrams are better suited


The sequence diagrams are better suited of for depicting simpler interactions of the
analysis activities. smaller number of objects.

8. Explain the components of SRS.


The important parts of the Software Requirements Specification (SRS) document are:
1. Functional requirements of the system
2. Non-functional requirements of the system, and
3. Goals of implementation
These are explained as following below.
1. Functional Requirements:
The purposeful requirements part discusses the functionalities needed from the system, The system is
taken into account to perform a group of high- level functions Fi. The functional view of the system is
shown in below diagram Each function Fi of the system can be considered as a transformation of a set
of input data Ii to the corresponding set of output knowledge Oi.
The user will get some purposeful piece of labor done employing a high-level operate.

2. Non-functional Requirements:
Non-functional necessities accommodate the characteristics of the system which may not be
expressed as functions – like the maintainability of the system, movability of the system, the usability
of the system, etc. Non-functional requirements may include:
1. Reliability issues
2. Accuracy of results
3. Human-computer interface issues
4. Constraints on the system implementation, etc.
3. Goals of Implementation:
The goals of implementation part documents some general suggestions relating to development.
These suggestions guide trade-off among style goals. The goals of the implementation section would
possibly document problems like revisions to the system functionalities that will be needed within the
future, new devices to be supported within the future, reusability problems, etc. These are the things
that the developers would possibly detain their mind throughout development in order that the
developed system may meet some aspects that don’t seem to be needed straightaway.

9. Define Use case diagram? Draw and explain symbols for the same.
Use cases are represented with a labeled oval shape. Stick figures represent actors in the process, and
the actor's participation in the system is modeled with a line between the actor and use case. To depict
the system boundary, draw a box around the use case itself.

10. Explain in detail the Sequence diagram with an example.


A sequence diagram shows the sequence of messages passed between objects. Sequence diagrams can
also show the control structures between objects.

11. State advantages and disadvantages of waterfall model.

Advantages Dis-Advantages
• Before the next phase of development, each
• Error can be fixed only during the phase
phase must be completed

• Suited for smaller projects where • It is not desirable for complex project where
requirements are well defined requirement changes frequently

• They should perform quality assurance test


• Testing period comes quite late in the
(Verification and Validation) before
developmental process
completing each stage

• Elaborate documentation is done at every • Documentation occupies a lot of time of


phase of the software’s development cycle developers and testers
Advantages Dis-Advantages
• Project is completely dependent on project • Clients valuable feedback cannot be
team with minimum client intervention included with ongoing development phase

• Small changes or errors that arise in the


• Any changes in software is made during the
completed software may cause a lot of
process of the development
problems

12. Explain with diagram the Incremental Process Model.


Incremental Model is a process of software development where requirements divided into multiple
standalone modules of the software development cycle. In this model, each module goes through the
requirements, design, implementation and testing phases. Every subsequent release of the module adds
function to the previous release. The process continues until the complete system achieved.

Incremental Model
The various phases of incremental model are as follows:
a) Requirement analysis: In the first phase of the incremental model, the product analysis expertise
identifies the requirements. And the system functional requirements are understood by the
requirement analysis team. To develop the software under the incremental model, this phase performs
a crucial role.

b) Design & Development: In this phase of the Incremental model of SDLC, the design of the system
functionality and the development method are finished with success. When software develops new
practicality, the incremental model uses style and development phase.

c) Testing: In the incremental model, the testing phase checks the performance of each existing function
as well as additional functionality. In the testing phase, the various methods are used to test the
behavior of each task.

d) Implementation: Implementation phase enables the coding phase of the development system. It
involves the final coding that design in the designing and development phase and tests the functionality
in the testing phase. After completion of this phase, the number of the product working is enhanced and
upgraded up to the final system product
13. Draw a Sequence diagram for online ordering of food delivery System.

14. Describe the Evolutionary Model with its advantages and disadvantages.
15. Explain Deployment diagram with an example.

Unit 2

1. Write a short note on COCOMO.

Cocomo (Constructive Cost Model) is a regression model based on LOC, i.e number of Lines of Code. It is
a procedural cost estimate model for software projects and is often used as a process of reliably
predicting the various parameters associated with making a project such as size, effort, cost, time, and
quality. It was proposed by Barry Boehm in 1981 and is based on the study of 63 projects, which makes
it one of the best-documented models. The key parameters which define the quality of any software
products, which are also an outcome of the Cocomo are primarily Effort & Schedule:
• Effort: Amount of labor that will be required to complete a task. It is measured in person-months units.
• Schedule: Simply means the amount of time required for the completion of the job, which is, of course,
proportional to the effort put in. It is measured in the units of time such as weeks, months.
Different models of Cocomo have been proposed to predict the cost estimation at different levels,
based on the amount of accuracy and correctness required. All of these models can be applied to a
variety of projects, whose characteristics determine the value of constant to be used in subsequent
calculations. These characteristics pertaining to different system types are mentioned below. Boehm’s
definition of organic, semidetached, and embedded systems:
1. Organic – A software project is said to be an organic type if the team size required is adequately small,
the problem is well understood and has been solved in the past and also the team members have a
nominal experience regarding the problem.
2. Semi-detached – A software project is said to be a Semi-detached type if the vital characteristics such as
team size, experience, knowledge of the various programming environment lie in between that of
organic and Embedded. The projects classified as Semi-Detached are comparatively less familiar and
difficult to develop compared to the organic ones and require more experience and better guidance and
creativity. Eg: Compilers or different Embedded Systems can be considered of Semi-Detached type.
3. Embedded – A software project requiring the highest level of complexity, creativity, and experience
requirement fall under this category. Such software requires a larger team size than the other two
models and also the developers need to be sufficiently experienced and creative to develop such
complex models.
1. Basic COCOMO Model
2. Intermediate COCOMO Model
3. Detailed COCOMO Model

2. Define Object-Oriented Programming and features of OOPs.


Object-oriented programming (OOP) is a computer programming model that organizes software design
around data, or objects, rather than functions and logic. An object can be defined as a data field that has
unique attributes and behavior.

• Modularity. Encapsulation enables objects to be self-contained, making troubleshooting and collaborative


development easier.

• Reusability. Code can be reused through inheritance, meaning a team does not have to write the same
code multiple times.

• Productivity. Programmers can construct new programs quicker through the use of multiple libraries and
reusable code.

• Easily upgradable and scalable. Programmers can implement system functionalities independently.

• Interface descriptions. Descriptions of external systems are simple, due to message passing techniques
that are used for objects communication.

• Security. Using encapsulation and abstraction, complex code is hidden, software maintenance is easier
and internet protocols are protected.

• Flexibility. Polymorphism enables a single function to adapt to the class it is placed in. Different objects
can also pass through the same interface.

3. Write a short note on coupling and cohesion.

Coupling Cohesion

Coupling is also called Inter- Cohesion is also called Intra-


Module Binding. Module Binding.

Coupling shows the relationships Cohesion shows the relationship


between modules. within the module.
Coupling shows the Cohesion shows the module's
relative independence between relative functional strength.
the modules.

While creating, you should aim While creating you should aim
for low coupling, i.e., dependency for high cohesion, i.e., a
among modules should be less. cohesive component/ module
focuses on a single function (i.e.,
single-mindedness) with little
interaction with other modules
of the system.

In coupling, modules are linked In cohesion, the module focuses


to the other modules. on a single thing.

4. Define coupling. What are the various levels of coupling?


In software engineering, the coupling is the degree of interdependence between software modules. Two
modules that are tightly coupled are strongly dependent on each other. However, two modules that are
loosely coupled are not dependent on each other. Uncoupled modules have no interdependence at all
within them.

5. Write a short note on Risk Management.

Risk Management:
A computer code project may be laid low with an outsized sort of risk. so as to be ready to consistently
establish the necessary risks which could have an effect on a computer code project, it’s necessary to
reason risks into completely different categories. The project manager will then examine the risks from
every category square measure relevant to the project.
There square measure 3 main classes of risks that may have an effect on a computer code project:

1. Project Risks:
Project risks concern various sorts of monetary funds, schedules, personnel, resource, and customer-
related issues. a vital project risk is schedule slippage. Since computer code is intangible, it’s terribly
tough to observe and manage a computer code project. it’s terribly tough to manage one thing that can
not be seen. For any producing project, like producing cars, the project manager will see the
merchandise taking form.
For example, see that the engine is fitted, at the moment the area of the door unit fitted, the
automotive is obtaining painted, etc. so he will simply assess the progress of the work and manage it.
The physical property of the merchandise being developed is a vital reason why several computer codes
come to suffer from the danger of schedule slippage.

2. Technical Risks:
Technical risks concern potential style, implementation, interfacing, testing, and maintenance issues.
Technical risks conjointly embody ambiguous specifications, incomplete specification, dynamic
specification, technical uncertainty, and technical degeneration. Most technical risks occur thanks to
the event team’s lean information concerning the project.

3. Business Risks:
This type of risk embodies the risks of building a superb product that nobody needs, losing monetary
funds or personal commitments, etc.

6. Explain software user interface design.

User interface is the front-end application view to which user interacts in order to use the software. User
can manipulate and control the software as well as hardware by means of user interface. Today, user
interface is found at almost every place where digital technology exists, right from computers, mobile
phones, cars, music players, airplanes, ships etc.
User interface is part of software and is designed such a way that it is expected to provide the user insight
of the software. UI provides fundamental platform for human-computer interaction.
UI can be graphical, text-based, audio-video based, depending upon the underlying hardware and
software combination. UI can be hardware or software or a combination of both.
The software becomes more popular if its user interface is:

• Attractive
• Simple to use
• Responsive in short time
• Clear to understand
• Consistent on all interfacing screens
UI is broadly divided into two categories:

• Command Line Interface


• Graphical User Interface

7. Explain Halstead’s metrics with an example.


8. What is Risk management? Explain Software risk management process.
Risk Management is an important part of project planning activities. It involves identifying and
estimating the probability of risks with their order of impact on the project.

Risk Management Steps:


There are some steps that need to be followed in order to reduce risk. These steps are as follows:
a. Risk Identification:
Risk identification involves brainstorming activities. it also involves the preparation of a risk list.
Brainstorming is a group discussion technique where all the stakeholders meet together. this technique
produces new ideas and promotes creative thinking.
Preparation of risk list involves identification of risks that are occurring continuously in previous
software projects.
b.Risk Avoidance and Mitigation:
The purpose of this technique is to altogether eliminate the occurrence of risks. so the method to avoid
risks is to reduce the scope of projects by removing non-essential requirements.
c. Risk Monitoring:
In this technique, the risk is monitored continuously by reevaluating the risks, the impact of risk, and the
probability of occurrence of the risk.
9. Define Operation-Oriented Metrics with an example.
10. Write a short note on Software Project Estimation.
a. Cost
b.Time
c.Size or scope
d.Risk
e.Resources
f.Quality
11. Explain Function Based Metrics.

Function-Oriented Metrics are also known as Function Point Model. This model generally focuses on the
functionality of the software application being delivered. These methods are actually independent of
the programming language that is being used in software applications and based on calculating the
Function Point (FP). A function point is a unit of measurement that measures the business functionality
provided by the business product.
To determine whether or not a particular entry is simple, easy, average, or complex, a criterion is
needed and should be developed by the organization. With the help of observations or experiments,
the different weighing factors should be determined as shown below in the table. With the help of
these tables, the count table can be computed.
12. State and Explain the Quality metrics.
13. Write a short note on Levels of Testing.

Software Testing is an activity performed to identify errors so that errors can be removed to obtain a
product with greater quality. To assure and maintain the quality of software and to represents the
ultimate review of specification, design, and coding, Software testing is required. There are different
levels of testing :
1. Unit Testing :
In this type of testing, errors are detected individually from every component or unit by individually
testing the components or units of software to ensure that if they are fit for use by the developers. It is
the smallest testable part of the software.
2. Integration Testing :
In this testing, two or more modules which are unit tested are integrated to test i.e. technique
interacting components and are then verified if these integrated modules work as per the expectation
or not and interface errors are also detected.
3. System Testing :
In system testing, complete and integrated Softwares are tested i.e. all the system elements forming
the system is tested as a whole to meet the requirements of the system.
4. Acceptance Testing :
It is a kind of testing conducted to ensure whether the requirement of the users are fulfilled prior to its
delivery and the software works correctly in the user’s working environment.
Unit 3

1. Define Quality and explain the nature of errors.

1. Functional errors

This is a broad type of error that happens whenever software doesn’t behave as intended. For
example, if the end user clicks the “Save” button, but their entered data isn’t saved, this is a functional
error. After some investigation, a software tester may identify a more specific culprit behind the error
and reclassify it as a different type of bug.

2. Syntax errors

A syntax error occurs in the source code of a program and prevents the program from being properly
compiled. This type of error is very common and typically occurs when there are one or more missing
or incorrect characters in the code. For example, a single missing bracket could cause a syntax error.

Compiling programs typically indicate where a syntax error has occurred so the programmer can fix it.

3. Logic errors

A logic error represents a mistake in the software flow and causes the software to behave incorrectly.
This type of error can cause the program to produce an incorrect output, or even hang or crash. Unlike
syntax errors, logic errors will not prevent a program from compiling.

A common logic error is the infinite loop. Due to poorly written code, the program repeats a sequence
endlessly until it crashes or halts due to external intervention, such as the user closing a browser
window or turning the power off.

4. Calculation errors

Anytime software returns an incorrect value — whether it’s one the end user sees or one that’s passed
to another program — that’s a calculation error. This could happen for several reasons:

• The software is using the wrong algorithm to calculate the value.


• The calculation has a data type mismatch.
• The developers have coded the calculation or value hand-off to another program incorrectly.

While such an error can be costly in certain contexts — like in banking, where an incorrect calculation
can result in the loss of money — hunting down the calculation error is typically just a matter of math.

5. Unit-level bugs

David LaVine, founder of RocLogic Marketing and a former engineer, says unit-level software bugs are
the most common. They’re also typically the easiest to fix.

After your software is initially coded, you need to see how it works through unit testing — taking a
small, logical section of code and verifying that it performs as designed. This is where various forms of
state machine bugs, calculation errors, and basic logic bugs are often uncovered.
“The bugs are relatively easy to isolate when you’re dealing with a small amount of code that’s within
your control,” LaVine says. “They’re also relatively easy to replicate because there aren’t a lot of
complex, asynchronous interactions taking place yet.”

6. System-level integration bugs

This type of bug occurs when two or more pieces of software from separate subsystems i nteract
erroneously. Often the two sets of code are written by different developers. LaVine explains that even
when there’s a solid set of requirements for developers to follow, there’s usually some level of
interpretation required or details that get overlooked, causing the interaction between two pieces of
software to fail.

“System-level integration bugs are harder to fix because you’re dealing with more than one piece of
software, so the complexity increases while overall visibility decreases,” LaVine sa ys. “This class of bug
is often caused by things like byte-swapping, message parsing, or memory overflow issues.”

7. Out of bounds bugs

LaVine notes that these types of software bugs show up when the end user interacts with the software
in ways that weren’t expected. This often occurs when the user sets a parameter outside the limits of
intended use, such as entering a significantly larger or smaller number than coded for or inputting an
unexpected data type, like text where a number should be.

2. Explain in detail the Cause-effect diagram.


A cause-effect diagram is a visual tool used to logically organize possible causes for a specific problem or
effect by graphically displaying them in increasing detail, suggesting causal relationships among
theories. A popular type is also referred to as a fishbone or Ishikawa diagram

Eg of Lost control car :

3. Explain the purpose of six sigma.

Six Sigma is the process of producing high and improved quality output. This can be done in two phases
– identification and elimination. The cause of defects is identified and appropriate elimination is done
which reduces variation in whole processes. A six sigma method is one in which 99.99966% of all the
products to be produced have the same features and are of free from defects.
Characteristics of Six Sigma:
The Characteristics of Six Sigma are as follows:
1. Statistical Quality Control:
Six Sigma is derived from the Greek Letter ? which denote Standard Deviation in statistics. Standard
Deviation is used for measuring the quality of output.
2. Methodical Approach:
The Six Sigma is a systematic approach of application in DMAIC and DMADV which can be used to
improve the quality of production. DMAIC means for Design-Measure- Analyze-Improve-Control. While
DMADV stands for Design-Measure-Analyze-Design-Verify.
3. Fact and Data-Based Approach:
The statistical and methodical method shows the scientific basis of the technique.

4. What is Structural testing? Write its advantages and disadvantages.


Structural testing is a type of software testing which uses the internal design of the software for
testing or in other words the software testing which is performed by the team which knows the
development phase of the software, is known as structural testing.

Structural testing is basically related to the internal design and implementation of the software i.e. it
involves the development team members in the testing team. It basically tests different aspects of the
software according to its types. Structural testing is just the opposite of behavioral testing.

Advantages of Structural Testing:


• It provides thorough testing of the software.
• It helps in finding out defects at an early stage.
• It helps in elimination of dead code.
• It is not time consuming as it is mostly automated.
Disadvantages of Structural Testing:
• It requires knowledge of the code to perform test.
• It requires training in the tool used for testing.
• Sometimes it is expensive.

5. Explain any five Software Quality attributes.


Portability:
A software is claimed to be transportable, if it may be simply created to figure in several package
environments, in several machines, with alternative code merchandise, etc.
Usability:
A software has smart usability if completely different classes of users (i.e. each knowledgeable and
novice users) will simply invoke the functions of the merchandise.
Reusability:
A software has smart reusability if completely different modules of the merchandise will simply be
reused to develop new merchandise.
Correctness:
A software is correct if completely different needs as laid out in the SRS document are properly
enforced.
Maintainability:
A software is reparable, if errors may be simply corrected as and once they show up, new functions
may be simply added to the merchandise, and therefore the functionalities of the merchandise may
be simply changed, etc
6. Explain Capability Maturity Model.
7. What is Structural testing? Write its advantages and disadvantages.
8. Define Test Case, Test Oracle, Test Plan.
The test case is defined as a group of conditions under which a tester determines whether a software
application is working as per the customer's requirements or not.

Test Oracle is a mechanism, different from the program itself, that can be used to test the accuracy of
a program’s output for test cases.

The test plan is a base of every software's testing. It is the most crucial activity which ensures availability
of all the lists of planned activities in an appropriate sequence.

9. What is Quality Assurance? What are Quality Assurance Criteria.

Software Quality Assurance (SQA) is simply a way to assure quality in the software. It is the set of
activities which ensure processes, procedures as well as standards are suitable for the project and
implemented correctly.
Software Quality Assurance is a process which works parallel to development of software. It focuses on
improving the process of development of software so that problems can be prevented before they
become a major issue. Software Quality Assurance is a kind of Umbrella activity that is applied
throughout the software process.
Software Quality Assurance has:
1. A quality management approach
2. Formal technical reviews
3. Multi testing strategy
4. Effective software engineering technology
5. Measurement and reporting mechanism

10. List and explain different types of Quality Costs.

It is the most established, effective measure of quantifying and calculating the business value of testing.
There are four categories to measure cost of quality: Prevention costs, Detection costs, Internal failure
costs, and External failure costs.
These are explained as follows below.
1. Prevention costs include cost of training developers on writing secure and easily maintainable code
2. Detection costs include the cost of creating test cases, setting up testing environments, revisiting
testing requirements.
3. Internal failure costs include costs incurred in fixing defects just before delivery.
4. External failure costs include product support costs incurred by delivering poor quality software.

11. Differentiate between White Box testing and Black Box Testing.

It is a way of software testing in which the It is a way of testing the software in which
internal structure or the program or the the tester has knowledge about the internal
code is hidden and nothing is known structure or the code or the program of the
1. about it. software.

Implementation of code is not needed for Code implementation is necessary for white
2. black box testing. box testing.

3. It is mostly done by software testers. It is mostly done by software developers.

No knowledge of implementation is
4. needed. Knowledge of implementation is required.

It can be referred to as outer or external It is the inner or the internal software


5. software testing. testing.

6. It is a functional test of the software. It is a structural test of the software.

7. It is least time consuming. It is most time consuming.


12. State and explain any 5 elements of Software Quality Assurance.
SQA Management Plan:
Make a plan for how you will carry out the sqa through out the project. Think about which set of
software engineering activities are the best for project. check level of sqa team skills.

Set The Check Points:


SQA team should set checkpoints. Evaluate the performance of the project on the basis of collected
data on different check points.

Multi testing Strategy:


Do not depend on a single testing approach. When you have a lot of testing approaches available use
them.

Measure Change Impact:


The changes for making the correction of an error sometimes re introduces more errors keep the
measure of impact of change on project. Reset the new change to change check the compatibility of
this fix with whole project.

Manage Good Relations:


In the working environment managing good relations with other teams involved in the project
development is mandatory. Bad relation of sqa team with programmers team will impact directly and
badly on project. Don’t play politics.
13. State and Explain the Quality metrics.
14. Explain Verification and Validation.

Verification:
Verification is the process of checking that a software achieves its goal without any bugs. It is the
process to ensure whether the product that is developed is right or not. It verifies whether the
developed product fulfills the requirements that we have.
Verification is Static Testing.
Activities involved in verification:
1. Inspections
2. Reviews
3. Walkthroughs
4. Desk-checking
Validation:
Validation is the process of checking whether the software product is up to the mark or in other words
product has high level requirements. It is the process of checking the validation of product i.e. it checks
what we are developing is the right product. it is validation of actual and expected product.
Validation is the Dynamic Testing.
Activities involved in validation:
1. Black box testing
2. White box testing
3. Unit testing
4. Integration testing

15. Define and explain ISO Quality Standards.


16. What is Cyclomatic complexity? Explain with an example.

You might also like