Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The following table is data from a software engineering class project in the 199

ID: 3806737 • Letter: T

Question

The following table is data from a software engineering class project in the 1990’s.

Time period

# of bugs found

# of bugs removed

# of hours tested

Oct 21 – Oct 31

13

3

6

Nov 1 – Nov 8

14

7

7

Nov 9 – Nov 16

8

3

3

Nov 17 – Nov 24

6

2

4

Nov 25 – Nov 30.

4

4

1

Question: If they continue testing, how many more defects would they find? What other information would you need? Write any assumptions or preconditions as appropriate. Does the hour for testing seem reasonable at the end of the project? Why or why not?

Time period

# of bugs found

# of bugs removed

# of hours tested

Oct 21 – Oct 31

13

3

6

Nov 1 – Nov 8

14

7

7

Nov 9 – Nov 16

8

3

3

Nov 17 – Nov 24

6

2

4

Nov 25 – Nov 30.

4

4

1

Explanation / Answer

To be able to correct a defect or bug, it must be localized in the software. Initially, we know the effect of a defect but not the precise location in the software. Localization and correction of defects are tasks for a software developer and are often called debugging. Repairing a defect generally increases the quality of the product because the change in most cases does not introduce new defects.

However, in practice, correcting defects often introduces one or more new defects. The new defects may then introduce failures for new, totally different inputs. Such unwanted side effects make testing more difficult. The result is that not only must we repeat the test cases that have detected the defect, we must also conduct even more test cases to detect possible side effects.

Debugging is often equated with testing, but they are entirely different activities.

Debugging is the task of localizing and correcting faults. The goal of testing is the (more or less systematic) detection of failures (that indicate the presence of defects).

test object in order to examine it is testing. The test conditions must be defined. Comparing the actual and expected behaviors of the test object serves to determine if the test object fulfills the required characteristics.4

Testing software has different purposes:

Executing a program to find failures

Executing a program to measure quality

Executing a program to provide confidence5

Analyzing a program or its documentation to prevent failures

Tests can also be performed to acquire information about the test object, which is then used as the basis for decision-making—for example, about whether one part of a system is appropriate for integration with other parts of the system. The whole process of systematically executing programs to demonstrate the correct implementation of the requirements, to increase confidence, and to detect failures is called testing. In addition, a test includes static methods, that is, static analysis of software products using tools as well as document

There are many confusing terms for different kinds of software tests. Some will be explained later in connection with the description of the different . The following terms describe the different ways tests are named:

Test objective or test type:

A test is named according to its purpose (for example, load test).

Test technique:

A test is named according to the technique used for specifying or executing the test (for example, business-process-based test).

Test object:

The name of a test reflects the kind of the test object to be tested (for example, a GUI test or DB test [database test]).

Test level:

A test is named after the level of the underlying life cycle model (for example, system test).

Test person:

A test is named after the personnel group executing the tests (for example, developer test, user acceptance test).

Test extent:

A test is named after the level of extent (for example, partial regression test, full test).

Thus, not every term means a new or different kind of testing. In fact, only one of the aspects is pushed to the fore. It depends on the perspective we use when we look at the actual test

Software Quality

Software testing contributes to improvement of software quality. This is done by identifying defects and subsequently correcting them. If the test cases are a reasonable sample of software use, quality experienced by the user should not be too different from quality experienced during testing.

But software quality is more than just the elimination of failures found during testing. According to the ISO/IEC Standard 9126-1 [ISO 9126], software quality comprises the following factors:

functionality, reliability, usability, efficiency, maintainability, and portability.

Testing must consider all these factors, also called quality characteristics and quality attributes, in order to judge the overall quality of a software product. Which quality level the test object is supposed to show for each characteristic should be defined in advance. Appropriate tests must then check to make sure these requirements are fulfilled.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote