SWE - chapter 8 :Software Testing

Ace your homework & exams now with Quizwiz!

obscure (The test cases are designed to expose defects. The test cases in defect testing can be deliberately obscure and need not reflect how the system is normally used. (defected test cases).)

difficult to understand; partially hidden

artificial (When you test software: you execute a program using artificial data.) (ɑː.tɪˈfɪʃ.əl)

fake , made by people, often as a copy of something natural: مصطنع

what is the difference between validation testing( normal test cases) and defect testing (defected test cases).?

in validation testing You expect the system to perform correctly using a given set of test cases that reflect the system's expected use. (normal test cases) in defect testing The test cases are designed to expose defects. The test cases in defect testing can be deliberately obscure and need not reflect how the system is normally used. (defected test cases).

deliberately (The test cases are designed to expose defects. The test cases in defect testing can be deliberately obscure and need not reflect how the system is normally used. (defected test cases).)

intentionally, on purpose

what is A successful test?

is a test that makes the system perform incorrectly and so exposes a defect in the system.

inefficiencies

not efficient

defect (Testing is intended to show that a program does what it is intended to do and to discover program defects before it is put into use.)

problem

* ( Software purpose ) The level of confidence depends on how critical the software is to an organisation.

true

* Aim of V & V is to establish confidence that the system is fit for purpose. This means that the system must be good enough for its intended use.

true

* Inspections and testing Both should be used during the V & V process.

true

* Inspections and testing are complementary and not opposing verification techniques.

true

* Inspections can check conformance with a specification but not conformance with the customer's real requirements.

true

* Inspections cannot check non-functional characteristics such as performance, usability, etc.

true

* Is the software solving the problems that the customer has this called validation

true

* Software Inspections do not require execution of a system so may be used before implementation.

true

* Software Inspections have been shown to be an effective technique for discovering program errors.

true

* Testing is part of a more general verification and validation process, which also includes static validation techniques.

true

* The software should conform to its specification. this is called verification

true

* The software should do what the user really requires this called validation

true

* Typically, a commercial software system has to go through three stages of testing

true

* Unit testing is a defect testing process.

true

* Unit testing is the process of testing individual components in isolation.

true

* in Software inspections involve people examining the source representation with the aim of discovering anomalies and defects.

true

*For software products, the 'user' may be an internal marketing group who decide if the software can be marketed, released, and sold.

true

*In automated unit testing, you make use of a test automation framework (such as JUnit) to write and run your program tests.

true

*The test cases should show that, when used as expected, the component that you are testing does what it is supposed to do.

true

*Unit testing frameworks provide generic test classes that you extend to create specific test cases. They can then run all of the tests that you have implemented and report, often through some GUI, on the success of otherwise of the tests.

true

*Whenever possible, unit testing should be automated so that tests are run and checked without manual intervention.

true

* Development testing includes all testing activities that are carried out by the team developing the system. mention these activity

true - Unit testing - Component testing - System testing

* Marketing environment Getting a product to market early may be more important than finding defects in the program.

ture When a system is marketed, the sellers of the system must take into account competing products, the price that customers are willing to pay for a system, and the required schedule for delivering that system. In a competitive environment, a software company may decide to release a program before it has been fully tested and debugged because they want to be the first into the market. If a software product is very cheap, users may be willing to tolerate a lower level of reliability.

what we looking for When we test software?

we check the results of the test run for errors, anomalies or information about the program's non functional attributes.

what is Release testing?

where a separate testing team test a complete version of the system before it is released to users

what is Unit testing ?

where individual program units or object classes are tested. Unit testing should focus on testing the functionality of objects or methods.

what is Component testing?

where several individual units are integrated to create composite components. Component testing should focus on testing component interfaces.

what is System testing?

where some or all of the components in a system are integrated and the system is tested as a whole. System testing should focus on testing component interactions.

what is Development testing?

where the system is tested during development to discover bugs and defects.

what is the User testing?

where users or potential users of a system test the system in their own environment.

What type of information you use When you test software?

you execute a program using artificial data.

manual intervention ( Whenever possible, unit testing should be automated so that tests are run and checked without manual intervention. )

التدخل اليدوي

Exercising the object in all possible states.

Inheritance makes it more difficult to design object class tests as the information to be tested is not localised.

Advantages of inspections over testing ( count 1)

Incomplete versions of a system can be inspected without additional costs. If a program is incomplete, then you need to develop specialized test harnesses to test the parts that are available. This obviously adds to the system development costs.

white is the other name for Software inspections?

These are so-called 'static' V & V techniques in which you don't need to execute the software to verify it. May be supplement by tool-based document and code analysis.

The level of required confidence depends on what?

The level of required confidence depends on - the system's purpose, - the expectations of the system users, - the current marketing environment for the system:

what is Validation testing goals?

To demonstrate to the developer and the system customer that the software meets its requirements A successful test shows that the system operates as intended.

what is defect testing goals?

To discover faults or defects in the software where its behavior is incorrect or not in conformance with its specification A successful test is a test that makes the system perform incorrectly and so exposes a defect in the system.

* Software Inspections may be applied to any representation of the system ( if true mention them )

( requirements, design, configuration data, test data )

compliance with standards

(literally means follow the given standards) a member who performs: audit, tax, review, compilation, management consulting, or other professional services; shall comply with standards promulgated by bodies designated by Council

When you are testing object classes, you should design your tests to provide coverage of all of the features of the object. This means that you should

- Complete test coverage of a class involves ....... - Exercising the object in all possible states.

mention the types of verification ?

- static "Software inspections" -dynamic " Software testing"

General testing guidelines

-Choose inputs that force the system to generate all error messages -Design inputs that cause input buffers to overflow -Repeat the same input or series of inputs numerous times -Force invalid outputs to be generated -Force computation results to be too large or too small.

what is the general testing stages for commercial software

-Development testing -Release testing -User testing

Units may be?

-Individual functions or methods within an object -Object classes with several attributes and methods -Composite components with defined interfaces used to access their functionality.

in automated unit testing If there are defects in the component, these should be revealed by test cases, This leads to 2 types of unit test case?

-The first of these should reflect normal operation of a program and should show that the component works as expected. -The other kind of test case should be based on testing experience of where common problems arise. It should use abnormal inputs to check that these are properly processed and do not crash the component.

Complete test coverage of a class involves....... what ?

-test all operations associated with the object; -set and check the value of all attributes associated with the object; (Setting and interrogating all object attributes ) -put the object into all possible states. This means that you should simulate all events that cause a state change.

what is Program testing goals?

1- To demonstrate to the developer and the customer that the software meets its requirements. > leads to validation testing 2- To discover situations in which the behaviour of the software is incorrect, undesirable or does not conform to its specification. > leads to defect testing

Portability

A property of a program that can run on more than one kind of computer.

what is Acceptance testing?

Acceptance testing is one type of user testing where the customer formally tests a system to decide if it should be accepted from the system supplier or if further development is required.

Advantages of inspections over testing ( count 2)

As well as searching for program defects, an inspection can also consider broader ( general ) quality attributes of a program, such as compliance with standards, portability, and maintainability. You can look for inefficiencies, inappropriate algorithms, and poor programming style that could make the system difficult to maintain and update.

give an example of dynamic (Software) testing

Defect testing is an example of dynamic testing

Advantages of inspections over testing

During testing, errors can mask (hide) other errors. When an error leads to unexpected outputs, you can never be sure if later output anomalies are due to a new error or are side effects of the original error. Because inspection is a static process, you don't have to be concerned with interactions between errors.

what Software inspections concerned with ?

Software inspections Concerned with analysis of the static system representation to discover problems (static verification)

what Software testing concerned with ?

Software testing Concerned with exercising and observing product behaviour (dynamic verification) The system is executed with test data and its operational behaviour is observed.

test data

Test data are the inputs that have been devised to test a system. Test data can sometimes be generated automatically, but automatic test case generation is impossible, as people who understand what the system is supposed to do must be involved to specify the expected test results. However, test execution can be automated.

test cases

Test cases are specifications of the inputs to the test and the expected output from the system (the test results), plus a statement of what is being tested.

testing intended to what ?

Testing is intended to show that a program does what it is intended to do and to discover program defects before it is put into use.

conformance

The act or state or conforming.

what is the aim of Release testing?

The aim of release testing is to check that the system meets the requirements of system stakeholders. ( v&v )

what is The aim of validation?

The aim of validation is to ensure that the software meets the customer's expectations. It goes beyond simply checking conformance with the specification to demonstrating that the software does what the customer expects it to do. Validation is essential because, requirements specifications do not always reflect the real wishes or needs of system customers and users.

what is the aim of verification?

The aim of verification is to check that the software meets its stated functional and non-functional requirements

test results

The expected results are automatically compared with the predicted results so there is no need for a person to look for errors and anomalies in the test run.

for = ( looking for ) anomalies (You check the results of the test run for errors, anomalies or information about the program's non functional attributes.) (/əˈnɒm.ə.li/)

a person or thing that is different from what is usual,

static

staying in one place without moving, or not changing for a long time:

what is the Defect testing?

testing that is concerned with rooting out undesirable system behaviour such as system crashes, unwanted interactions with other systems, incorrect computations and data corruption.

Inspections

the act of looking at something carefully, or an official visit to a building or organization to check that everything is correct and legal:

the lack of ( Ariane-5 "1996" rocket exploded on its flight due to the lack of testing of the navigation software and the rocket flew faster affecting the variables and the device. "So they had to explode it". )

the fact that something is not available or that there is not enough of it:

Inspections and reviews usually analyze and check ?

the system requirements, design models, the program source code, and even proposed system tests.

ask your self "Are we building the right product".

this is called Validation

ask your self ""Are we building the product right".

this is called verification

opposing

to be against something


Related study sets

Guide to Operating Systems - Chapter 1

View Set

NCLEX book The Unconscious Client

View Set

Drug Therapy to Decrease Histamine Effects and Allergic Response

View Set

Chapter 11 (Membranes)- MCAT Prep Questions

View Set