• No results found

SOFTWARE QUALITY ASSURANCE_6

N/A
N/A
Protected

Academic year: 2020

Share "SOFTWARE QUALITY ASSURANCE_6"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

STRUCTURAL

TESTING TEQNIQUES

LECTURE 6 : WEEK 6

SEN 460

: FALL 2016

(2)

Selecting a technique

Structural System Testing Techniques

 Stress testing

(3)

Selecting a technique

Functional System Testing Techniques

 Requirements testing  Regression testing  Error-handling testing  Manual-support testing  Intersystem testing

(4)

Stress testing

Stress testing is designed to determine

whether the system can function when

subjected to larger volumes than normally

would be expected.

Areas stressed

include input transactions, internal

tables, disk space, output,

communications, and computer

(5)

Stress testing

Objectives

Specific objectives of stress testing include

 Normal or above-normal volumes of transactions can be

processed within the expected time frame.

 System capacity, including communication lines, has

sufficient resources to meet expected turnaround times.

 Users can perform their assigned tasks and maintain the

(6)

How to use stress testing?

 Online systems should be stress tested by having people enter transactions at a

normal or above-normal pace.

 Batch systems can be stress tested with large input batches.  Transactions for use in stress testing can be obtained from one

 Test data generators

 Test transactions created by the test group

 Transactions previously processed in the production environment

 In stress testing, the system should be run as it would in the production

environment

 Operators should use standard documentation, and the people entering

transaction or working with the system should be the clerical personnel that will work with the system after it goes into the production.

 Online systems should be tested for an extended period of time and batch

(7)

 Stress testing should be used when there is uncertainty

regarding the volume of work the application system can handle without failing.

 Stress testing is most common with online applications

because it is difficult to simulate heavy-volume transactions using the other testing techniques.

 The disadvantage of stress testing is the amount of time it

takes to prepare for the test, as well as the number of resources consumed during the execution of the test.

 Testers should weigh these costs against the risk of not

identifying volume-related failures until the application is placed into an operational mode.

(8)

Execution testing

 Execution testing is designed to determine whether the system

achieves the desired level of proficiency in a production status.

Execution testing can verify response and turnaround times, as well as design performance.

 The execution of a system can be tested in whole or in part, using

the actual system or a simulated model.

Objectives

Specific objectives of execution testing include:

 Determining the performance of the system structure.  Verifying the optimum use of hardware and software.  Determining response time to online requests.

(9)

 Testers can conduct execution testing in any phase of the system

development lifecycle. The testing can evaluate a single aspect of the system for example, a critical routine in the system or the

ability of the proposed structure to satisfy performance criteria.

 Execution testing can be performed in any of the following

manners:

 Using hardware and software monitors  Using a simulation model

 Creating a quick program(s) to evaluate the approximate performance of a

completed system

 The earlier the technique is used, the greater the likelihood that

(10)

When to Use Execution Testing?

 Execution testing should be used early in the development

process.

 Although there is value in knowing that the completed

application does not meet performance criteria, if that

assessment is not known until the system is operational, it may be too late or too costly to make the necessary

modifications.

 Therefore, execution testing should be used at that point in

(11)

Recovery is the ability to restart operations after the integrity of the

application has been lost.

The process normally involves reverting to a point where the integrity of the

system is known, and then reprocessing transactions up until the point of failure.

Objectives

Recovery testing is used to ensure that operations can be continued after a

disaster.

Specific objectives of recovery testing include the following: Adequate backup data is preserved.

Backup data is stored in a secure location.

Recovery procedures are documented.

Recovery personnel have been assigned and trained.

Recovery tools have been developed.

(12)

How to use recovery testing?

Testers should conduct recovery testing in two

modes.

First, they should assess the procedures,

methods, tools, and techniques.

Second after the system has been developed,

(13)

How to use recovery testing?

 The actual recovery test may involve off-site facilities and

alternate processing locations.

 A simulated disaster is usually performed on one aspect of

the application system. For example, the test may be designed to determine whether people using the system can continue processing and recover computer operations after computer operations cease.

 While several aspects of recovery need to be tested, it is

better to test one segment at a time rather than induce multiple failures at a single time.

 It is preferable not to advise system participants when a

(14)

When to use recovery

testing?

 Recovery testing should be performed whenever the user

of the application states that the continuity of operation is essential to the proper functioning of the user area.

 The user should estimate the potential loss associated

with inability to recover operations over various time spans —for example, the inability to recover within five minutes, one hour, eight hours, and one week.

 The potential loss should determine both the amount of

(15)

Operation testing

 After an application has been tested, it is integrated into

the operating environment. At this point, the application will be executed using the normal operations staff,

procedures, and documentation.

 Operations testing is designed to verify prior to production

(16)

Operation testing

Objectives

Specific objectives of operations testing include

 Determining the completeness of computer operator

documentation

 Ensuring that the necessary support mechanisms, such as

job control language, have been prepared and function properly

(17)

Operation testing

 Operations testing evaluates both the process and the

execution of the process. During the requirements phase, operational requirements can be evaluated to determine their reasonableness and completeness.

 During the design phase, the operating procedures should

be designed and evaluated.

 The execution of operations testing can normally be

performed in conjunction with other tests.

(18)

When to use operation

testing?

 Operations testing should occur prior to placing any

(19)

Compliance Testing

 Compliance testing verifies that the application was

developed in accordance with IT standards, procedures, and guidelines.

 The methodologies are used to increase the probability of

(20)

Compliance Testing

Objectives

Specific objectives of compliance testing include the following:

 Determining that systems development and maintenance

methodologies are followed

 Ensuring compliance to departmental standards,

procedures, and guidelines

 Evaluating the completeness and reasonableness of

(21)

How to use compliance

testing?

 Compliance testing requires that the prepared

document/program be compared to organizational standards. The most effective method for compliance testing is the

(22)

When to use compliance

testing?

 The type of testing conducted varies based on the phase of

the development life cycle.

 However, it may be more important to test adherence to

(23)

Security testing

 The level of security required depends on the risks

(24)

Security testing

Objectives

Specific objectives of security testing include the following:

 Determining that adequate attention has been devoted to

identifying security risks

 Determining that a realistic definition and enforcement of

access to the system has been implemented

 Determining that sufficient expertise exists to perform

adequate security testing

 Conducting reasonable tests to ensure that the

(25)

How to use security testing?

 Security testing is a highly specialized part of the test process.

Most organizations can evaluate the reasonableness of

security procedures to prevent the average executor from penetrating the application.

 However, the highly skilled executor using sophisticated

techniques may use methods undetectable by novices

designing security measures and/or testing those measures.

 The first step is to identify the security risks and the potential

loss associated with those risks. If either the loss is low or the penetration method routine, IT personnel can conduct the necessary tests.

 On the other hand, if either the risks are very high or the

(26)

When to use security testing?

 Security testing should be used when the information

and/or assets protected by the application system are of significant value to the organization. The testing should be performed both before and after the system goes into an operational status.

 The extent of testing depends on the security risks, and the

(27)

Any Questions !!!

END OF LECTURE

References

Related documents

Winner – Dragon’s Den Social Enterprise Competition at the New Zealand Community Economic Development Conference (CEDNZ), 2011 Finalist – ‘Social Innovation’

Its value is computed by evaluating the metric function in s but assuming that (1) no further precondition preferences will be violated in the future, (2) temporally extended

Supercomputer systems have been increasing steadily in scale (number of CPU cores and number of nodes) in response to an ever increasing demand for computing power.

2. The execution time in general benefits from operating at a higher frequency and/or using a larger number of cores. However, the differences may be small when the memory bandwidth

For Oregon State Board of Nursing (OSBN) – If students have questions about the possibility of denial of certification by the OSBN after they complete this course, they should

In this lesson we present an overview of the basic design of a computer system: how the different parts of a computer system are organized and various operations performed to perform

The Electronic Security Division of the Office of Security Services of the Department of General Services (DGS) uses the Card Access System to manage photo identification/access

Key terms: resistance, response-based practice, drama therapy, Chinese, Settler, Indigenous, intergenerational trauma, social justice, performance