80 Marks Software Engineering: Fail in A Variety of Ways and Verifies That Recovery Is Properly Performed
80 Marks Software Engineering: Fail in A Variety of Ways and Verifies That Recovery Is Properly Performed
80 Marks Software Engineering: Fail in A Variety of Ways and Verifies That Recovery Is Properly Performed
Q1.
3. RECOVERY TESTING:
1. Many computer based systems must recover from faults and resume
processing within a pre specified time.
2. In some cases, a system must be fault tolerant; that is, processing
faults must not cause overall system function to cease.
3. In other cases, a system failure must be corrected within a specified
period of time or severe economic damage will occur.
4. Recovery testing is a system test that forces the software to
fail in a variety of ways and verifies that recovery is properly
performed.
5. If recovery is automatic performed by the system itself), re
initialization, check pointing mechanisms, data recovery, and restart
are evaluated for correctness.
6. If recovery requires human intervention, the mean-time-to-repair
(MTTR) is evaluated to determine whether it is within acceptable limits.
Pg no 1.34,1.35,1.36 of NIRALI
3. BEHAVIORAL MODEL:
1. Most software responds to events from the outside world. This stimulus/response
characteristic forms the basis of the behavioral model.
2. A computer program always exists in some state—an externally observable
mode of behavior (e.g., waiting, computing, printing, polling) that is changed
only when some event occurs.
3. For example, software will remain in the wait state until
(1) An internal clock indicates that some time interval has passed,
(2) An external event (e.g., a mouse movement) causes an interrupt, or
(3) An external system signals the software to act in some manner.
4. A behavioral model creates a representation of the states of the software and
the events that cause
a software to change state.
Q3.
3. PROBLEM DECOMPOSITION:
1. Problem decomposition, sometimes called partitioning or problem
elaboration, is an activity that sits at the core of software requirements
analysis.
2. During the scoping activity no attempt is made to fully decompose the
problem. Rather, decomposition is applied in two major areas: (1) the
functionality that must be delivered and (2) the process that will be used to
deliver it.
3. Human beings tend to apply a divide and conquer strategy when they are
confronted with a complex problems. Stated simply, a complex problem is
partitioned into smaller problems that are more manageable.
4. This is the strategy that applies as project planning begins.
5. Software functions, described in the statement of scope, are evaluated and
refined to provide more detail prior to the beginning of estimation. Because
both cost and schedule estimates are functionally oriented, some degree of
decomposition is often useful.
2. SYSTEM TESTING:
System testing is actually a series of different tests whose primary purpose is
to fully exercise the computer-based system.
Recovery Testing
• Many computer based systems must recover from faults and resume
processing within a prespecified time.
• In some cases, a system must be fault tolerant; that is, processing faults
must not cause overall system function to cease. In other cases, a system
failure must be corrected within a specified period of time or severe economic
damage will occur.
• Recovery testing is a system test that forces the software to fail in a
variety of ways and verifies that recovery is properly performed.
• If recovery is automatic (performed by the system itself), reinitialization,
checkpointing mechanisms, data recovery, and restart are evaluated for
correctness.
• If recovery requires human intervention, the mean-time-to-repair (MTTR) is
evaluated to determine whether it is within acceptable limits.
Security Testing
• Any computer-based system that manages sensitive information or causes
actions that can improperly harm (or benefit) individuals is a target for
improper or illegal penetration.
• Penetration spans a broad range of activities: hackers who attempt to
penetrate systems for sport; disgruntled employees who attempt to
penetrate for revenge; dishonest individuals who attempt to penetrate for
illicit personal gain.
• Security testing attempts to verify that protection mechanisms built
into a system will, in fact, protect it from improper penetration.
• During security testing, the tester plays the role(s) of the individual who
desires to penetrate the system.
• The role of the system designer is to make penetration cost more than the
value of the information that will be obtained.
Stress Testing
• Stress testing executes a system in a manner that demands
resources in abnormal quantity, frequency, or volume.
• For example, (1) special tests may be designed that generate ten interrupts
per second, when one or two is the average rate, (2) input data rates may be
increased by an order of magnitude to determine how input functions will
respond, (3) test cases that require maximum memory or other resources are
executed, (4) test cases that may cause thrashing in a virtual operating
system are designed, (5) test cases that may cause excessive hunting for
disk-resident data are created. Essentially, the tester attempts to break the
program.
Performance Testing
• For real-time and embedded systems, software that provides required
function but does not conform to performance requirements is unacceptable.
• Performance testing is designed to test the run-time performance of
software within the context of an integrated system.
• Performance testing occurs throughout all steps in the testing process.
• Even at the unit level, the performance of an individual module may be
assessed as white-box tests are conducted.
• However, it is not until all system elements are fully integrated that the true
performance of a system can be ascertained.
4. SOFTWARE FEASIBILITY:
1. Software feasibility has four solid dimensions
a. Technology— Is a project technically feasible? Is it within the state of
the art? Can defects be reduced to a level matching the application’s
needs?
b. Finance—Is it financially feasible? Can development be completed at a
cost the software organization, its client, or the market can afford?
c. Time—Will the project’s time-to-market beat the competition?
d. Resources—does the organization have the resources needed to
succeed?
2. The feasibility team ought to carry initial architecture and design of the
high-risk requirements to the point at which it can answer these
questions. In some cases, when the team gets negative answers, a
reduction in requirements may be negotiated.
Q6.
1. MAJOR COST COMPONENTS FOR PROJECT:
Nirali pg no 5.30 project cost estimation
2. DIFFERENT ACTIVITIES UNDER PHASE 1 :NIRALI page no 4.16