0% found this document useful (0 votes)
189 views35 pages

SE - Unit 4 and 5 - Complete

1. Integration testing approaches include big bang, top-down, bottom-up, and sandwich/hybrid. Internal and external testing views are described. White box testing investigates internal logic and structure. 2. Important testing techniques are discussed like condition testing, data flow testing, boundary value analysis, and graph-based testing. Regression testing checks for new bugs after changes. 3. Alpha and beta testing are compared. Stress, performance, debugging, refactoring, coding practices and testability characteristics are defined. Smoke testing helps find early integration issues. Validation testing identifies conformance to specifications or deviations.

Uploaded by

aishwarya mekala
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)
189 views35 pages

SE - Unit 4 and 5 - Complete

1. Integration testing approaches include big bang, top-down, bottom-up, and sandwich/hybrid. Internal and external testing views are described. White box testing investigates internal logic and structure. 2. Important testing techniques are discussed like condition testing, data flow testing, boundary value analysis, and graph-based testing. Regression testing checks for new bugs after changes. 3. Alpha and beta testing are compared. Stress, performance, debugging, refactoring, coding practices and testability characteristics are defined. Smoke testing helps find early integration issues. Validation testing identifies conformance to specifications or deviations.

Uploaded by

aishwarya mekala
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/ 35

UNIT IV

PART-A
1.What are the approaches of integration testing
A,1.Big bang approach
2.top down approach
3.bottom up approach
4.sandwich/hybrid approach
2 Define various test characteristics.
A.1. High probability of detecting errors
2. No redundancy
3. Choose the most appropriate test
4.Moderate
3 Write short notes on internal and external views of testing.

A. Internal and External Views of Testing


• Any engineered product (and most other things) can be tested in one of two ways:
(1) Knowing the specified function that a product has been designed to perform, tests can be
conducted that demonstrate each function is fully operational while at the same time searching
for errors in each function.
(2) Knowing the internal workings of a product, tests can be conducted to ensure that “all gears
mesh,” that is, internal operations are performed according to specifications and all internal
components have been adequately exercised.
• The first test approach takes an external view and is called black-box testing. The second
requires an internal view and is termed white-box testing.
4 What is white box testing?
A. White-box testing is the detailed investigation of internal logic and structure of the code.
Using White-box testing methods, you can derive test cases that
(1) Guarantee that all independent paths within a module have been exercised at least once,
(2) Exercise all logical decisions on their true and false sides,
(3) Execute all loops at their boundaries and within their operational bounds, and
(4) Exercise internal data structures to ensure their validity
5 Discuss the importance of graph matrices in basis path testing.

A. In graph matrix based testing, we convert Our flow graph into a square matrix with one row
and one column for every node in the graph. If the size of graph increases, it becomes difficult to
do path tracing manually.
Objective : To trace all links of the Flow Graph at least once, draw a Square Matrix from it &
find out the cyclomatic complexity, V(G) and hence the independent paths.

6 Explain different steps that can be applied to derive the test cases.
A.STEPS :

1. Test Cases need to be simple steps, transparent and easy to understand.

2. Test Cases Should Be Valid, Brief And Short.

3. Test Cases Should Be Traceable.

4.Test Cases Should Be Maintainable

5. Implement Testing Techniques – Positive And Negative Test Cases.

6. Preparation Of Test Data For Diversity Of Test Cases

7. Preparation Of Non-Functional Testing Aspect

8. Preparation Of Usability Testing Aspect

7 What is loop testing? Write a short notes on loop testing.


A. • Loops are the cornerstone for the vast majority of all algorithms implemented in
software.
• Loop testing is a white-box testing technique that focuses exclusively on the validity of
loop constructs.
• Four different classes of loops can be defined:
1.Simple loops
2. Nested loops
3. Concatenated loops
4. Unstructured loops

8 Define condition testing and data flow testing.


A.Data flow testing:
Data flow testing is a family of test strategies based on selecting paths through the program's
control flow in order to explore sequences of events related to the status of variables or data
objects. Dataflow Testing focuses on the points at which variables receive values and the points
at which these values are used.
Condition testing:
Condition Testing is another structural testing method that is useful during unittesting, using
source code or detailed pseudocode as a reference for test design. Its goal is the
thorough testing of every condition or test that occurs in the source code.
9 What are the differences between verification and validation?
A.

10 Demonstrate about boundary value analysis in black box testing.

A. A greater number of errors occurs at the boundaries of the input domain rather than in the
“center of input domain.
• For this reason that boundary value analysis (BVA) has been developed as a testing
technique • Boundary value analysis leads to a selection of test cases that exercise
bounding values.
• BVA leads to the selection of test cases at the “edges” of the class. Rather than focusing
solely on input conditions.
• BVA derives test cases from the output domain also.
11 Discuss in detail about graph-based testing methods.
 A. Graph Based Testing-Cause and effect graphs are generated and cyclometric complexity
considered in using the test cases.

12 What is regression testing?


A. When any modification or changes are done to the application or even when any small
change is done to the code then it can bring unexpected issues. Along with the new
changes it becomes very important to test whether the existing functionality is intact or
not. This can be achieved by doing the regression testing.
• The purpose of the regression testing is to find the bugs which may get introduced
accidentally because of the new changes or modification.
13 Write short notes on unit testing and explain its environment.

A. Unit testing focuses verification effort on the smallest unit of software design—
the software component or module
• Targets for Unit Test Cases
– Module interface
Local data structures
Boundary conditions
Independent paths (basis paths)
14 What is the use of integration testing? Explain its types.

A. The purpose of this level of testing is to expose faults in the interaction between
integrated units. Test drivers and test stubs are used to assist in Integration Testing.
Types:
1.incremental integration testing
2.non-incremental testing
15 Discuss about alpha and beta testing.
A.

Alpha Testing Beta Testing


Alpha testing performed by Testers who are Beta testing is performed by Clients or End Users
usually internal employees of the organization who are not employees of the organization

Alpha Testing performed at developer's site Beta testing is performed at client location or end
user of the product
Reliability and Security Testing are not Reliability, Security, Robustness are checked
performed in-depth Alpha Testing during Beta Testing
Alpha testing involves both the white box and Beta Testing typically uses Black Box Testing
black box techniques
Alpha testing requires lab environment or testing Beta testing doesn't require any lab environment
environment or testing environment. Software is made
available to the public and is said to be real time
environment
16 Define stress and performance testing.

A. Stress testing refers to the testing of software or hardware to determine whether its
performance is satisfactory under any extreme and unfavorable conditions, which may
occur as a result of heavy network traffic, process loading, underclocking, overclocking
and maximum requests for resource utilization.

Performance testing is the process of determining the speed or effectiveness of a


computer, network, software program or device. This process can involve
quantitative tests done in a lab, such as measuring the response time or the number of
MIPS (millions of instructions per second) at which a system functions.
17. Explain about debugging process.
A. Debugging is the routine process of locating and removing computer program bugs, errors or
abnormalities, which is methodically handled by software programmers
via debugging tools. Debugging checks, detects and corrects errors or bugs to allow proper
program operation according to set specifications.
18 Define various debugging strategies.

A. Objective of debugging is to find and correct the cause of a software error or defect. –
Bugs are found by a combination of systematic evaluation, intuition, and luck.
– Debugging methods and tools are not a substitute for careful evaluation based on a
complete design model and clear source code
– There are three main debugging strategies
1. Brute force
2. Backtracking
3. Cause elimination
19 Define the importance of refactoring technique in software implementation.

A. 1. See the whole picture


2. Make it readable for your team
3. Maintainability
4. Efficiency
5. Reduce complexity
20 Write short notes on coding practices.
A. Coding are a set of informal rules that the software development community has learned over
time which can help improve the quality of software.[1]
21 What are the characteristics of testability?
A.1. Easy to operate
2.Stability
3. Observability
4. Easy to understand
5. Decomposability
22. Illustrate the benefits of smoke testing?

A. It helps to find issues introduced in integration of modules.

It helps to find issues in the early phase of testing.

It helps to get confidence to tester that fixes in the previous builds not breaking major
features (off course, only features exercised by smoke testing).

23 Discuss the conditions exists after performing validation testing?

A. The function or performance characteristics conform to specification and are accepted, or

A deviation from specification is uncovered and a deficiency list is created. Deviation or error
discovered at this stage in a project can rarely be corrected prior to scheduled completion. It is
often necessary to negotiate with the customer to establish a method for resolving deficiencies.

Designed to ensure that


• All functional requirements are satisfied
• All behavioral characteristics are achieved
• All performance requirements are attained
• Documentation is correct
• Usability and other requirements are met (e.g., transportability, compatibility, error recovery,
maintainability)
• After each validation test

PART-B
1. Explain the integration testing process and system testing process and discuss their
outcomes.
A. Integration testing is done to test the modules/components when integrated to verify that
they work as expected i.e. to test the modules which are working fine individually does
not have issues when integrated.

System testing is a testing where the system as a whole is tested i.e. all the
modules/components are integrated together to verify whether the system works as
expected and no issues occur because of the integrated modules.

System Testing is the testing of a complete and fully integrated software product. Usually
software is only one element of a larger computer based system. Ultimately, software is
interfaced with other software/hardware systems.System Testing is actually a series of different
tests whose sole purpose is to exercise the full computer based system.

Two Category of Software Testing

 Black Box Testing


 White Box Testing

2. Discuss the importance of test strategies for conventional software

A.There are various levels of testing for conventional software are:

1) Unit testing:

 Unit testing focus on the smallest unit of software design, i.e module or software component.
 Test strategy conducted on each module interface to access the flow of input and output.
 The local data structure is accessible to verify integrity during execution.
 Boundary conditions are tested.
 In which all error handling paths are tested.
 An Independent path is tested.

2) Integration testing:

Integration testing is used for the construction of software architecture.

There are two approaches of incremental testing are:


i) Non incremental integration testing
ii) Incremental integration testing

i) Non incremental integration testing


 Combines all the components in advanced.
 A set of error is occurred then the correction is difficult because isolation cause is complex.
ii) Incremental integration testing
 The programs are built and tested in small increments.
 The errors are easier to correct and isolate.
 Interfaces are fully tested and applied for a systematic test approach to it.
Following are the incremental integration strategies:
a. Top-down integration
b. Bottom-up integration

3) Regression testing:
 In regression testing the software architecture changes every time when a new module is added
as part of integration testing.
4) Smoke testing:
 The developed software component are translated into code and merge to complete the
product.

3. Compare and contrast black box testing and White Box testing.
A.

# Black Box Testing White Box Testing

Black box testing is White box testing is the software


the Software testing testing method in which internal
1 method which is used to test the structure is being known to tester
software without knowing the who is going to test the software.
internal structure of code or
program.

This type of testing is carried Generally, this type of testing is


2 out by testers. carried out by software developers.

Implementation Knowledge is Implementation Knowledge is


3 not required to carry out Black required to carry out White Box
Box Testing. Testing.

Programming Knowledge is not


Programming Knowledge is required
4 required to carry out Black Box
to carry out White Box Testing.
Testing.

Testing is applicable on higher Testing is applicable on lower level


5 levels of testing like System of testing like Unit Testing,
Testing, Acceptance testing. Integration testing.

Black box testing means


White box testing means structural
6 functional test or external
test or interior testing.
testing.

In White Box testing is primarily


In Black Box testing is
concentrate on the testing of program
primarily concentrate on the
7 code of the system under test like
functionality of the system
code structure, branches, conditions,
under test.
loops etc.

The main aim of this testing to


The main aim of White Box testing
check on what functionality is
8 to check on how System is
performing by the system under
performing.
test.

Black Box testing can be started


White Box testing can be started
9 based on Requirement
based on Detail Design documents.
Specifications documents.

The Functional testing, The Structural testing, Logic testing,


Behavior testing, Close box Path testing, Loop testing, Code
testing is carried out under coverage testing, Open box testing is
10 Black Box testing, so there is no carried out under White Box testing,
required of the programming so there is compulsory to know about
knowledge. programming knowledge.
4. Discuss in detail about basis path testing and explain its importance

A. Basis path testing, a structured testing or white box testing technique used for designing test
cases intended to examine all possible paths of execution at least once. Creating and executing
tests for all possible paths results in 100% statement coverage and 100% branch coverage.

Steps to Calculate the independent paths


Step 1 : Draw the Flow Graph of the Function/Program under consideration as shown below:

Step 2 : Determine the independent paths.

Path 1: 1 - 2 - 5 - 7
Path 2: 1 - 2 - 5 - 6 - 7
Path 3: 1 - 2 - 3 - 2 - 5 - 6 - 7
Path 4: 1 - 2 - 3 - 4 - 2 - 5 - 6 - 7

5. Explain briefly about control structure testing.


A. Control structure testing is a group of white-box testing methods.
1.Branch Testing
2.Condition Testing
3.Data Flow Testing
4.Loop Testing
1) Branch Testing:- For every decision, each branch needs to be executed at least once also
called decision testing.
shortcoming - ignores implicit paths that result from compound conditionals.
Treats a compound conditional as a single statement. (We count each branch taken out of the
decision, regardless which condition lead to the branch.)
2) Condition Testing:-
Condition testing is a test construction method that focuses on exercising the logical conditions
in a program module.
Errors in conditions can be due to:
Boolean operator error
Boolean variable error
Boolean parenthesis error
Relational operator error
Arithmetic expression error
3) Data Flow Testing:-
Selects test paths according to the location of definitions and use of variables. This is a
somewhat sophisticated technique and is not practical for extensive use. Its use should be
targeted to modules with nested if and loop statements.
4) Loop Testing:-
Loops are fundamental to many algorithms and need thorough testing.
There are four different classes of loops: simple, concatenated, nested, and unstructured.
6.What is system testing? Explain briefly about system testing
A. System Testing (ST) is a black box testing technique performed to evaluate the complete
system the system's compliance against specified requirements. In System testing, the
functionalities of the system are tested from an end-to-end perspective.
System Testing is usually carried out by a team that is independent of the development team in
order to measure the quality of the system unbiased. It includes both functional and Non-
Functional testing.

Types of System Tests:


7. Discuss in detail about the art of debugging.
A.The Debugging Process:
During debugging, errors are encountered that range from less damaging (like input of an
incorrect function) to catastrophic (like system failure, which lead to economic or physical
damage). Note that with the increase in number of errors, the amount of effort to find their
causes also increases.
Once errors are identified in a software system, to debug the problem, a number of steps are
followed, which are listed below.
1. Defect confirmation/identification: A problem is identified in a system and a defect report is
created. A software engineer maintains and analyzes this error report and finds solutions to the
following questions.
1. Does a defect exist in the system?
2. Can the defect be reproduced?
3. What is the expected/desired behavior of the system?
4. What is the actual behavior?

2. Defect analysis: If the defect is genuine, the next step is to understand the root cause of the
problem. Generally, engineers debug by starting a debugging tool (debugger) and they try to
understand the root cause of the problem by following a step-by-step execution of the program.
3. Defect resolution: Once the root cause of a problem is identified, the error can be resolved by
making an appropriate change to the system by fixing the problem.
When the debugging process ends, the software is retested to ensure that no errors are left
undetected. Moreover, it checks that no new errors are introduced in the software while making
some changes to it during the debugging process.

8. Demonstrate the importance of validation testing?


A. Validation Testing ensures that the product actually meets the client's needs. It can also be
defined as to demonstrate that the product fulfills its intended use when deployed on appropriate
environment.

Validation Testing - Workflow:


Validation testing can be best demonstrated using V-Model. The Software/product under test is
evaluated during this type of testing.

Stages of Validation testing Process:

 Validation Planning – To plan all the activities that need to be included while testing.
 Define Requirements – To set goals and define the requirements for testing.
 Selecting a Team – To select a skilled and knowledgeable development team (the third
party included).
 Developing Documents – To develop a user specification document describing the
operating conditions.
 Estimation/Evaluation – To evaluate the software as per the specifications and submit a
validation report.
 Fixing bugs or Incorporating Changes – To change the software so as to remove any
errors found during evaluation.

Validation Testing Variations:


 Component/Unit Testing
 Integration testing
 System testing
 Acceptance testing
 Alpha testing
 Beta testing
 Regression testing

9. Write short notes on regression and white box testing


A. Regression testing a black box testing technique that consists of re-executing those tests that
are impacted by the code changes. These tests should be executed as often as possible
throughout the software development life cycle.
Types of Regression Tests:
 Final Regression Tests: - A "final regression testing" is performed to validate the build
that hasn't changed for a period of time. This build is deployed or shipped to customers.
 Regression Tests: - A normal regression testing is performed to verify if the build has
NOT broken any other parts of the application by the recent code changes for defect
fixing or for enhancement.
White box testing:
White box testing is a testing technique, that examines the program structure and derives test
data from the program logic/code. The other names of glass box testing are clear box testing,
open box testing, logic driven testing or path driven testing or structural testing.

Advantages of White Box Testing:


 Forces test developer to reason carefully about implementation.

 Reveals errors in "hidden" code.

Disadvantages of White Box Testing:


 Expensive as one has to spend both time and money to perform white box testing.

 Every possibility that few lines of code are missed accidentally.

10. Explain about various software implementation techniques.


A. Coding Practices:
• Best coding practices are a set of informal rules that the software development community has
learned over time which can help improve the quality of software
• Many computer programs remain in use for far longer than the original authors ever envisaged
(sometimes 40 years or more) so any rules need to facilitate both initial development and
subsequent maintenance and enhancement by people other than the original authors. • In Ninety-
ninety rule, Tim Cargill is credited with this explanation as to why programming projects often
run late: "The first 90% of the code accounts for the first 90% of the development time. The
remaining 10% of the code accounts for the other 90% of the development time." Any guidance
which can redress this lack of foresight is worth considering.
• The size of a project or program has a significant effect on error rates,

11. What is testing? Discuss in detail about Black-Box testing.


A.Testing:
Software testing also helps to identify errors, gaps or missing requirements in contrary to the
actual requirements. It can be either done manually or using automated tools. Some prefer saying
Software testing as a white box and Black Box Testing.
BLACK BOX TESTING, also known as Behavioral Testing, is a software testing method in
which the internal structure/design/implementation of the item being tested is not known to the
tester. These tests can be functional or non-functional, though usually functional.

This method is named so because the software program, in the eyes of the tester, is like a black
box; inside which one cannot see. This method attempts to find errors in the following
categories:

 Incorrect or missing functions


 Interface errors
 Errors in data structures or external database access
 Behavior or performance errors
 Initialization and termination errors

12. What are the various testing strategies to software testing? Discuss them briefly.
A. Following figure shows the testing strategy:

Unit testing
Unit testing starts at the centre and each unit is implemented in source code.

Integration testing
An integration testing focuses on the construction and design of the software.

Validation testing
Check all the requirements like functional, behavioral and performance requirement are validate
against the construction software.

System testing
System testing confirms all system elements and performance are tested entirely.
As per the procedural point of view the testing includes following steps.

1) Unit testing
2) Integration testing
3) validation testing
4) System testing
PART-C
1. Discuss software failures and faults? What are test coverage criteria? Discuss testing issues.
A. Fault – a manifestation of an error in software, also known as Defect or Bug.

Failure – a deviation of the software from its expected delivery or service.


Test coverage helps monitor the quality of testing, and assists testers to create tests that cover
areas that are missing or not validated.

Test coverage is often confused with Code Coverage. Even though the underlying principles are
the same, they are two different things.
Test Coverage, on the other hand, is testing every requirement at least once and is obviously a
QA team activity.
Testing issues:
Software or systems are often installed and rolled out with hundreds of defect in them. The result
is poor performance and loss of many days both for the software development firm as well as the
client. To avoid such problems team leads or managers must sort out some issues which are
inherent to software testing. Let us go through 5 main software testing issues and methods to
resolve them.
1. Inadequate schedule of testing:
Testing is a time consuming affair. It has to be so since it is done to bring out the defects or
inadequacies of the system under different conditions and not to show that it works. Testing
needs to go hand in hand with development. This will make sure that inadequacies or errors in a
particular functionality of the system is brought to the notice of the development team and sorted
out sooner than later.
2. Insufficient testing environment and tools:
Tools and environments are backbones of proper software testing. However, testing is often
carried out in inadequate testing environment. An over reliance on manual testing
or COTS testing tools is another aspect. Moreover, some of the environmental components
themselves suffer from defects. What is commonly seen is that test environment, test data and
test software are not under adequate configuration control.
3. Wrong testing mindset:
Often the mindset of the software testing team revolves around finding out functionality of the
system rather than finding defects in it. This itself prohibits the team from finding out flaws in
the software.

4. Testing lessons are often ignored:


It is often seen that same type of problems are repeated in systems,projects after projects.

5. Poor integration of testing and engineering processes:


Often it is seen that testing and engineering processes are not properly integrated. This means
that components or subsystems are often tested for flaws before they are mature enough to be
tested on all parameters. Moreover, there may be some project specific needs that need to be
looked into. One size fits all formula does not apply to software testing.

2.Develop a complete test strategy for the SafeHome system.


A. http://web.csulb.edu/~msahebja/SafeHomeCSV701.htm
Or
, consider the SafeHome product. Working as a team, software engineering and business
managers develop a list of prioritized business goals:
• Improve our customers’ satisfaction with our products. • Make our products easier to use.
• Reduce the time it takes us to get a new product to market. • Make support for our products
easier. Improve our overall profitability

OR

The analysis model must achieve three basic objectives.


1)To describe what the customer requires.
2)To establish a basis for the creation of a software design.
3)To define a set of requirements that can be validated once the software is built.
SafeHomeSystem: The core singleton class (only one instance exists)
• userid: Entered when logging into the system through a web browser
streetAddress: Street address of the home. Used when communicating with the monitoring
company to identify the property .
• activationState: The state of the system as a whole.
• masterPassword: A password that must be entered.
3.Using your own words, describe the difference between verification and validation.
A.

Verification Validation
1. Verification is a static practice of 1. Validation is a dynamic mechanism
verifying documents, design, code and of validating and testing the actual
program. product.
2. It does not involve executing the 2. It always involves executing the
code. code.
3. It is human based checking of 3. It is computer based execution of
documents and files. program.
4. Validation uses methods like black
4. Verification uses methods like
box (functional) testing, gray box
inspections, reviews, walkthroughs,
testing, and white box (structural)
and Desk-checking etc.
testing etc.
5. Validation is to check whether
5. Verification is to check whether the
software meets the customer
software conforms to specifications.
expectations and requirements.
6. It can catch errors that validation 6. It can catch errors that verification
cannot catch. It is low level exercise. cannot catch. It is High Level Exercise.
7. Target is requirements specification,
7. Target is actual product-a unit, a
application and software architecture,
module, a bent of integrated modules,
high level, complete design, and
and effective final product.
database design etc.
8. Verification is done by QA team to
8. Validation is carried out with the
ensure that the software is as per the
involvement of testing team.
specifications in the SRS document.
9. It generally comes first-done before
9. It generally follows after verification.
validation.

4. Is unit testing possible or even desirable in all circumstances? Provide examples to justify your
answer
A. Unit testing may not be possible in all situations. When object-oriented software is
considered, the concept of unit testing changes. Encapsulation drives the definition of classes and
objects. This means that each class and each instance of a class packages attributes and the
operations that manipulate these data. An encapsulated class is usually the focus of unit testing.
However, operations within the class are the smallest testable units. Because, a class can contain
a number of different operations, and a particular operation may exist as a part of a number of
different classes, the tactics applied to unit testing must change.
You can no longer test a single operation in isolation, but rather as part of a class. To illustrate,
consider a class hierarchy in which an operation X is defined for the superclass and is inherited
by a number of subclasses. Each subclass uses operation X, but it is applied within the context of
the private attributes and operations that have been defined for the subclass. Because the context
in which operation X is used varies in subtle ways, it is necessary to test operation X in the
context of each of the subclasses. This means that testing operation X in a stand-alone fashion is
usually ineffective in the object-oriented context.
5. Who should perform the validation test the software developer or the software user? Justify
your answer.
A. The developer should check that the code works correctly regarding all requirements. It can
be done through different ways - write unit tests, manually. It is common for developers to write
their own unit tests as they develop code. These provide fast feedback on design problems and
logic errors.

After that, QAs (Quality Assurance engineers) should make one more test in different cases and
perform regression testing, if necessary.

And finally, we should organize user acceptance testing. On the basis of this result, we can
decide to implement new release.

The final step is the real Users should have a way to report faults that escape into the wild, in a
way that lets developers and QAs reproduce them.

Example :

Software user (Customer) might expect the software should work seamlessly between Desktop
and Smartphones (Say AutoCAD for example).

From Developer’s point of view, it might take more Processor power to run the same application
on smartphone, so It might not work (AutoCAR might need more RAM then current
smartphones have)

So it's better if all the parties tests the product so there is no confusion at the end.

UNIT-V

PART-A

1.List out the importance of cost estimation in software development

A. As a project manager, it’s impossible to underestimate the importance of cost estimation when
it comes to successfully completing a project. Before even approaching a project, it’s important
to get a handle on cost estimation to help keep you on task and in touch with project constraints
and limitations.

2. Give an example of LOC-based cost estimation


A.
From the above example we have
• 2 physical lines of code.
• 2 logical line of code (printf statement and for statement)
• 1 comment line

3.Write short notes on estimation.


A. The procedure of making judgement or decision about a population parameter is referred to as
statistical estimation or simply estimation.

4. Discuss about outsourcing


A.Outsourcing is a business practice in which a company hires another company or an individual
to perform tasks, handle operations or provide services that are either usually executed or had
previously been done by the company's own employees.

5.What is planning? Write about project planning process


A. The project plan is the major output from the planning process. Developing it is the process of
documenting the actions necessary to define, prepare, integrate, and coordinate all
subsidiary plans.

Step 1: Project Goals

Step 2: Project Deliverables

Step 3: Project Schedule

Step 4: Supporting Plans


6.Write a short note on COCOMO II model.

A. COCOMO II is tuned to modern software life cycles. COCOMO II targets modern software
projects, and will continue to evolve over the next few years. Dr. Barry Boehm and his students
are developing COCOMO II at USC. We support COCOMO II in SystemStar.

7. Discuss about proactive risk strategies.


A. Through careful risk management, proactive managers help ensure a project’s success.
Proactive risk management involves carefully analyzing a situation to determine the major risks
and then taking steps to minimize potential damage

8. Demonstrate various types of software risks.


A. There are, three related categories of risk:

1. Project Risks: Risks which will affect the project schedule or resources. For example, stuff
turnover, that is an experience team member of a project left the organization.

2. Product Risks: Risks that affect the quality or performance of the software being developed.
For example a component isn't performing as expected.

3. Business Risks: Risks that affect the organization developing or procuring the software. For
example, a competitor is developing a similar product that will challenge the product being
developed.
9. Write a short note on risk identification.
A. Risk identification is a process for identifying and recording potential project risks that can
affect the project delivery. This step is crucial for efficient risk management throughout the
project. The outputs of the risk identification are used as an input for risk analysis, and they
reduce a project manager's uncertainty.
10.Explain how overall project risk will be assessed.
A.Step 1: Identify potential risks.
Step 2: Determine probability.
Step 3: Determine Impact.
11 What is risk projection (or) risk estimation?
A. Risk projection, also called risk estimation, attempts to rate each risk in two ways—the
likelihood or probability that the risk is real and the consequences of the problems associated
with the risk, should it occur.
12 Elaborate the RMMM.
A. RMM stands for risk mitigation, monitoring and management.
13 Discuss about software project scheduling.
A. Project scheduling is a mechanism to communicate what tasks need to get done and which
organizational resources will be allocated to complete those tasks in what timeframe. A project
schedule is a document collecting all the work needed to deliver the project on time.
14 What are the basic principles of software project scheduling?

A. There are seven principles of software project scheduling :

COMPARTMENTALIZATION

INTERDEPENDENCY

TIME ALLOCATION

EFFORT VALIDATION

DEFINED RESPONSIBILITIES

DEFINED OUTCOMES

DEFINED MILESTONES

15.Define the relationship between people and effort


A.For a small project, requirements analysis, performing design, code generation and test
conduction can be done by a single person but as the size of the project increases, more people
get added.
Effort should also be distributed across the software process workflow. Recommended effort
distribution is referred as 40-20-40 rule. Front end analysis and design and back end testing are
allocated 40% of all effort while 20% of effort is allocated to coding.
16 How should effort be distributed across the software process workflow?
A. Based on studies reported in the general industry literature, the distribution of effort across the
software development life cycle is typically along the lines of the following:

 Requirements: 15-20 percent,

 Analysis and Design: 15-20 percent,

 Construction (code and unit testing): 25-30 percent,

 System Testing: 15-20 percent,

 Implementation: 5-10 percent.

17 Discuss about time-line charts with an examples.

A. To generate a Timeline chart, the data must be formatted as Date — these are the only charts
for which the data selected is not formatted as Number. The chart is based on the selection of
two date-formatted line items representing a start and an end date.

18.Write a short note on earned value analysis.


A.Earned Value Analysis (EVA) is an industry standard method of measuring a project's
progress at any given point in time.
Planned Value (PV) = The budgeted amount through the current reporting period.
Actual Cost (AC) = Actual costs to date.
Earned Value (EV) = Total project budget multiplied by the % complete of the project.
19 Determine process metrics and software process improvement
A. Software process metrics can provide significant benefit as an organization works to improve
overall level of process maturity. As an organization becomes more comfortable with the
collection and use of process metrics, the derivation of simple indicators give way to more
rigorous approach called statistical software process improvement(SSPI).
20.llustrate the various metrics for software quality.
A.. Product metrics
 Process metrics
 Project metrics

21 Write a short notes on FP-based cost estimation


A. A Function Point (FP) is a unit of measurement to express the amount of business
functionality, an information system (as a product) provides to a user. FPs measure software size.
They are widely accepted as an industry standard for functional sizing.
22.What is meant by software change
A.In software project management, there are actually several different meanings for the term
"change management." In one context, change management refers to managing changes to
artifacts, such as code changes or documentation changes. This can also be referred to as
"configuration management." In this context, change management tools are used to handle such
things as version control.

PART-B
1.Explain in detail about Reactive versus Proactive Risk Strategies
A.

2. Write briefly about Risk mitigation, monitoring, and management


A. The Risk Mitigation, Monitoring and Management, RMMM, plan documents all work
performed as part of risk analysis and is used by the project manager as part of overall project
plan.
Risk Mitigation covers efforts taken to reduce either the probability or consequences of a threat.
Risk monitoring and control is the process of identifying, analyzing, and planning for newly
discovered risks and managing identified risks. Risk management is the identification,
assessment, and prioritization of risks.

3.What is scheduling? Explain the importance of scheduling in the project management.


A. Scheduling is used to allocate plant and machinery resources, plan human resources, plan
production processes and purchase materials. It is an importanttool for manufacturing and
engineering, where it can have a major impact on the productivity of a process.
the importance of scheduling in the project management:
1,Financial
2.Documentation
3.Management
4.Quality

4.Discuss the importance of project scheduling


A. Project scheduling is important because it is an integral part of the project planning process. A
project can not run without a project plan. Scheduling establishes the timelines, delivery and
availability of project resources, whether they be personnel, inventory or capital. For this reason,
any project without a schedule is a project doomed to issues down the road.
Although project scheduling is not an exact process, not having a project schedule will guarantee
that a project will fail. The project schedule is used to estimate what resources are needed at what
time and for how long. It's an essential section of the project plan as the schedule offers a guide
as to how the the project will progress.
5.Write about how to define a task set for the software project.
A. A task set is a collection of software engineering work tasks, milestones, and deliverables that
must be accomplished to complete a particular project. The task set to be chosen must provide
enough discipline to achieve high software quality.
Task sets are designed to accommodate different types of projects and different degrees of rigor.
Although it is difficult to develop a comprehensive taxonomy of software project types, most
software organizations encounter the following projects:

1. Concept development projects that are initiated to explore some new business concept or
application of some new technology.
2. New application development projects that are undertaken as a consequence of a specific
customer request.
3. Application enhancement projects that occur when existing software undergoes major
modifications to function, performance, or interfaces that are observable by the end-user.
4. Application maintenance projects that correct, adapt, or extend existing software in ways that
may not be immediately obvious to the end-user.
5. Reengineering projects that are undertaken with the intent of rebuilding an existing (legacy)
system in whole or in part.
6.How the risk identification in done in risk management.

A. Definition: Risk identification is the process of determining risks that could potentially
prevent the program, enterprise, or investment from achieving its objectives. It includes
documenting and communicating the concern.

Keywords: risk, risk identification, risk management


Risk management steps:

 Step 1: Identify the Risk. ...


 Step 2: Analyze the risk. ...
 Step 3: Evaluate or Rank the Risk. ...
 Step 4: Treat the Risk. ...
 Step 5: Monitor and Review the risk.
risk identification is investigated as a basic stage in risk management. The risk identification
phase as the first stage in the risk management process is presented and its leading role for
effective risk management is proved. The basic terms that are necessary for building of the
frame approach for risk identification are defined: sources of risk‐ hazard,
factor‐ peril‐ resources exposed to risk. A classification of risk sources – physical, social,
political, operational, economic, legal and cognitive environment – is proposed. It allows
covering all types of risk facing the organisation. A grouping of the resources exposed to risk
such as physical, human, and financial resources is introduced. It is based on a practical
consideration of the risk situations in the organisations.
7.Compare the pros and cons of COCOMO and COCOMO II Models?
A.COCOMO Model & COCOMO II Model:
Advantages of COCOMO estimating model are:

- COCOMO is factual and easy to interpret. One can clearly understand how it works.
- Accounts for various factors that affect cost of the project.
- Works on historical data and hence is more predictable and accurate.
- The drivers are very helpful to understand the impact on the different factors that affect the
project costs.
Disadvantages:

a. COCOMO model ignores requirements and all documentation.


b. It ignores customer skills, cooperation, knowledge and other parameters.
c. It oversimplifies the impact of safety/security aspects.
d. It ignores hardware issues
e. It ignores personnel turnover levels
f. It is dependent on the amount of time spent in each phase.

8. Explain in detail about software measurement and discuss various metrics.


A. Software metrics is a standard of measure that contains many activities which involve some
degree of measurement. It can be classified into three categories: product metrics, process
metrics, and project metrics.
 Product metrics describe the characteristics of the product such as size, complexity,
design features, performance, and quality level.
 Process metrics can be used to improve software development and maintenance.
Examples include the effectiveness of defect removal during development, the pattern of
testing defect arrival, and the response time of the fix process.
 Project 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.

9. Explain the process of integrating metrics within the software process


A. Integrating Metrics Within The Software Process
Arguments for Software Metrics:-
• Most software developers do not measure, and most have little desire to begin
• Establishing a successful company-wide software metrics program can be a multi-year effort
• But if we do not measure, there is no real way of determining whether we are improving
Establishing a Baseline:-
• The same metrics can serve many masters
• The baseline consists of data collected from past software development projects.
Baseline data must have the following attributes
• Data must be reasonably accurate (guesses should be avoided)
• Data should be collected for as many projects as possible
Collection, Computation, and Evaluation
• Data collection requires an historical investigation of past projects to reconstruct required data

10. Discuss in detail about various metrics for small organizations.


A. • Most software organizations have fewer than 20 software engineers.
• It is reasonable to suggest that software organizations of all sizes measure and then use the
resultant metrics to help improve their local software process and the quality and timeliness of
the products they produce.
• A commonsense approach to the implementation of any software process- related activity is:
keep it simple, customize to meet local needs, and be sure it adds value.
A small organization might select the following set of easily collected measures:
• Time (hours or days) elapsed from the time a request is made until evaluation is complete,
tqueue.
• Effort (person-hours) to perform the evaluation, Weval.
• Time (hours or days) elapsed from completion of evaluation to assignment of change order to
personnel, teval.
The guidebook suggests the following steps:
• Identify business goal
• Identify what you want to know
• Identify subgoals
11. Explain the need for software measures and describe various metrics

 A. Measurement is crucial to the progress of all sciences, even Computer Science


 Scientific progress is made through
 Observations and generalisations…
 …based on data and measurements
 Derivation of theories and…
 …confirmation or refutation of these theories
 Measurement turns an art into a science

The purpose of measuring is to give data that enables better management decisions to be taken.
The information management needs is that which supports their strategic goals and business
objectives. If these needs are not clear then similarly the rationale for measurement may not be
clear. Often a measurement programme throws up lack of clarity in management objectives.
 Product metrics describe the characteristics of the product such as size, complexity,
design features, performance, and quality level.
 Process metrics can be used to improve software development and maintenance.
Examples include the effectiveness of defect removal during development, the pattern of
testing defect arrival, and the response time of the fix process.
 Project 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.

12. Discuss the five essential elements of software project management


A. 1. Have Clear Project Goals
Make sure you have all the details in front of you before you start. Get everything in writing so
that a detailed timeline and a realistic budget can be drawn up and agreed on by stakeholders.
Having this at the beginning, will make you instrumental in choosing the right team for the
project. You will be able to select members whose skill-sets are right for each task. It also helps
you avoid ‘scope creep’ when the client wants little things added here and there. When this
happens, suddenly the project can look very different than how it started. Even though it’s likely
that the project will change slightly before its completion. When you outline clear project goals
at the start, you will maintain control of the project.

2. Be Dynamic
Once you have your plan in place, remain flexible. All sorts of things can happen which could
change the plan slightly. But if you can anticipate these and are ready to act when they come up,
you will find yourself better equipped to deal with them. Before your project starts think about
potential issues that could arise, how to prevent them, and, if they arise, how you will resolve
them. You need to fulfill your role as a team leader in these situations and deal with these issues
confidently and calmly.

3. Communication
You need to ensure your team clearly communicates with one another. Make sure that everyone
knows what the aims of the project are and how to achieve them. Any change to plans need to be
understood by the team members and they must be able to discuss any concerns freely. Short and
regular meetings keep everyone updated, instead of long and infrequent ones. In doing this, you
will be able to spot any problems emerging more quickly. Therefore, having meetings frequently,
you will maintain a high level of motivation and morale within the team as it helps everyone feel
included and promotes a good group dynamic.
Make sure you’re communicating with the client. Keep them updated on progress or any
potential problems and of course listen to their feedback. This way, you won’t run the risk of
them becoming unhappy with any steps you have taken.

4. Stay on Track
One of your main tasks as project manager is to make sure that the team is working well together
– that they are on the right track and sticking to the schedule. There is project management
software which can help you track the progress your team is making. Online Kanban boards,
even a physical one in the office, helps you visualize your workflow, facilitating efficient use of
time. If everyone in the team has access to the board, they can update their progress, making
status-update meetings quicker. Gantt charts also work in a similar way, helping you to visualize
the tasks that need to be done against the time they are likely to take for completion.

5. Review The Project to Improve for The Next Time


To finish, when the project is over it’s imperative that you examine what you did during the
project and learn from your actions. It’s important to work out exactly what worked well and
what didn’t. In order to make sure your company maintains its edge over any competitors you
must always seek to improve. Encourage your team members and clients to give you feedback to
help with this. Stay up to date with what’s going on in your company and any new project
management theories between projects. Project management is a continuous process of
analyzing, prioritizing and reviewing in order to make right decisions quickly. Final tip, stay
focused and organised at every stage and you will do great work.

PART-C
1.Describe the difference between “known risks” and “predictable risks.”
A. Known Risk : Known risks are those that are identified by evaluating the project plan
1) It can be uncovered after careful evaluation project plan, business and technical
environment in which the project is being developed, other reliable information resources.
2) E.g. unrealistic delivery date, lack of software poor development environment.
Predictable Risk: Predictable risks are those that can be identified in advance based on past
project experience
1) Predictable risks are extrapolated from past project experience.
2) E.g. staff turnover, poor communication with the customer, dilution of staff effort as
ongoing maintenance requests are serviced.

2.Describe five software application areas in which software safety and hazard analysis would
be a major concern.
 A. Astronomy
 Biological Sciences
 Chemistry
 Computer Science
 Data Science
 Decision and Control
 Earth and Planetary Sciences
 Economics
 Economics and Computer Science
 Engineering
 Government
 Physics
 Psychology
 Scientific Computing
 Statistics

 ASTRONOMY
 Combining applied mathematics with astronomy or another similar physical science
allows delving deeper into mathematical foundations, while maintaining a strong
overview of the major concepts and methods.

BIOLOGICAL SCIENCES

The field of biological sciences can be broken into several sub-areas, and it is possible for
specialization in any of these areas. The focus should be on attaining competence and basic
knowledge in the field of biology and learning how mathematics can be substantively applied to
this field. The categories include:
 Ecology and Evolutionary Biology

 Biomechanics and Bioengineering

 Systems and Molecular Biology, including mathematical genomics

 Neuroscience

 COMPUTER SCIENCE
 Applied Mathematics concentrators specializing in computer science will build a broader
base of applicable mathematics and focus on those aspects of the subject which depend
most directly on such mathematics.
 For an application in computer science, students will take at least one course in the 120
series, as well as at least two more courses drawn from the 120s, 130s, 150s, 161, 175, or
the 180s.
 DATA SCIENCE
 Applied Mathematics concentrators specializing in data science will take AM 120, Stat
111, CS 181 or CS 182 (and applicable prerequisite courses), and two electives.
 Recommended electives include MCB 112, Astro 100 and 193, additional statistics
coursework beyond Stat 110/111, ES 201 and 202, further CS coursework, and
econometrics.
 DECISION AND CONTROL
 The Decision and Control area is concerned with topics that are sometimes called
operations research and/or systems engineering. The common theme is optimization, in
various forms and contexts, both to understand natural systems and to design man made
systems.

3.Describe the software change management system in detail


A. The change management process in systems engineering is the process of requesting,
determining attainability, planning, implementing, and evaluating of changes to a system. Its
main goals are to support the processing and traceability of changes to an interconnected set of
factors
Software change management is the process of selecting which changes to encourage, which
to allow, and which to prevent, according to project criteria such as schedule and cost. The
process identifies the changes’ origin, defines critical project decision points, and establishes
project roles and responsibilities. The necessary process components and their relationships are
shown in Figure 1. You need to define a change management process and policy within your
company’s business structure and your team’s development process. Change management is
not an isolated process. The project team must be clear on what, when, how, and why to carry
it out.
Change Management attempts to control, manage and support changes to software.

You might also like