SWE Chapter 8 - Software Testing

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

what is regression testing?

Regression testing involves repeating previously run tests to ensure that known failures of prior versions do not appear in new versions of the software. it is testing the system to check that changes have not broken previously working code

the objective of interface testing is to detect faults what is the reason for these faults?

1. Interface errors 2. invalid assumption about interfaces

beta testing

A release of the software is made available to users to allow them to experiment and to raise problems that they discover with the system developers.

release testing is a form of system testing(True/False)

True

Alpha testing

Users of the software work with the development team to test the software at the developer's site.

are we building the right Product? Is an example of (Validation/Verification)

Validation

Are we building the product right? Is an example of(Validation/Verification)

Verification

what is the cause of interface misunderstanding?

a calling component embeds assumptions about the behavior of the called component which is incorrect

what should we use in order to test check the problems?

abnormal inputs to check that there is no crashing

in custom software there should be ..... one test for every requirement 1. at least 2. at most

at least

why is it difficult to design object classes tests?

because the information to be tested is not localized

inspection and testing should be used during the ..... process? 1. validation 2. verification 3. both 4. none

both

what is the cause of timing errors?

called and calling components operate at different speeds and out-of-date information is accessed

what is the cause of interface misuse?

calling a component and making an error in its use (e.g. parameters in the wrong order)

exhaustive system testing is known as 1. use case testing 2. policies testing 3. complete testing 4. system testing

complete testing

the stage where the system is tested to discover bugs

development testing

defect test

discover program defects before it is put into use

software testing is also called

dynamic verification

what is the function of procedural interface? 1. request services 2. share memory 3. pass data 4. encapsulate procedures to be called

encapsulate procedures to be called

validation test

ensuring that the program does what it is intended to do

testing is a part of a ........ verification and validation process 1. specific 2. general 3. both 4. non of the above

general

reflecting on previous experience with specific kinds of errors

guideline based testing

parameters in the wrong order is an example of? 1. interface Misunderstanding 2. timing errors 3. interface misuse

interface misuse

what is the function of a sequence diagram in use case testing?

it documents interactions and components being tested

what is dynamic verification concerned with?

it is concerned with exercising and observing product behavior while the system is executed with its test data

what is static verification concerned with?

it is concerned with the analysis of the static system representation to discover problems - it may be supplemented by tool-based document and code analysis

what does black-box testing process mean?

it means that tests are only derived from system specification

what is the service that parameter interface provides?

it passes data from one procedure to another

what is the service that shared memory provides?

it shares a block of memories from one sub-system to another sub-system

what does reflection on normal operation show?

it shows that the components works as expected

what is the goal of release testing?

it's goal is to convince the supplier that the system is good enough for use and delivers specified functionality, reliability, dependability

testing composite functions focuses on showing that the component interface behaves according to .......

its specification

identifying a group of inputs that have common characteristics and choosing from within these groups

partition testing

performance testing( Stress testing)

planning a series of tests where the load is steadily increased until the system performance becomes unacceptable

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

release testing

what is the function of Message passing interface? 1. request services 2. share memory 3. pass data 4. encapsulate procedures to be called

request services from other sub systems

Component Testing

several individual units are integrated to create a composite component.

software inspections are also called

static verification

......... testing should focus on testing components interactions 1. system testing 2. unit testing 3. component testing 4. validation testing

system testing

unit testing

test individual units or object classes of code for a system

Verification

the software should conform to its specification

User Testing

the user's working environment has a major effect on reliability, performance, usability, robustness

what are composite components?

they are components that are made up of several interacting objects

what are testing policies?

they define the required system test coverage

what is the primary goal of release testing?

to convince the supplier that the system is good enough for use

........ testing should focus on the functionality of objects or methods 1. system testing 2. unit testing 3. defect testing 4. component testing 5. validation testing

unit testing

the stage where users of the system test the system in their own environment

user testing

what are the interface testing guidelines?

- design : * test parameters to a called procedure are at the extreme ends of their ranges * tests that cause the component to fail * stress testing in message passing systems - test pointer parameters with null pointers - in shared memory systems, vary the order in which components are activated

what are the possible interface errors?

- interface misuse - interface misunderstanding - timing errors

what are the broader quality attributes that software inspection considers?

- searching for program defects - Maintainability - portability - compliance with standards

what are the 2 types of regression testing?

1. Automated testing > simple and straightforward 2. manual testing > expensive

types of user testing

1. alpha 2.beta 3. Acceptance

what are the general testing guidelines?

1. choose inputs that force the system to generate all error messages 2. design inputs that cause input buffer to overflow 3. repeat the same input or series of inputs numerous times 4. force invalid outputs to be generated 5. force computation results to be too large or too small

system testing checks that ..

1. components are compatible 2. interact correctly 3. transfer right data at right time across their interfaces

validation test is made upon 2 types of software which are?

1. custom software 2. generic software

what are the stages of testing?

1. development testing 2. release testing 3. user testing

units may be ..

1. individual functions or methods 2. object classes with several attributes 3. composite components with defined interfaces used to access functionality

what are the types of interface?

1. parameter 2. message passing 3. procedural 4. shared memory

what are the 2 types of testing strategies?

1. partition testing 2. guideline-based testing

release testing involves testing 2 types of the properties of system which are?

1. performance 2. reliability

what are the 2 types of unit test case?

1. reflection on normal operation(reflection) 2. testing experience of where common problems arise(experience)

what are inspections applied on?

1. requirement specification 2. software architecture 3. UML design models 4. data schemas 5. program generally, they me applied to any representation of the system

what are the Advantages of software inspections?

1. since inspection is static, interaction between errors are not concerning. therefore, errors are easier to be detected since they are not masked 2. incomplete versions of a system can be inspected without any additional cost 3. inspections considers broader quality attributes

what is testing applied on?

1. system prototype 2. program

state the testing guidelines >

1. test with zero length sequence 2. different size sequences in different test 3. single value sequence 4. tests with first, middle and last elements of a sequence are accessed

what does complete test coverage involve?

1. testing all operations associated with an object 2. setting checking all object attributes 3. exercising the object in all possible states

development testing is divided into 3 types

1. unit testing 2. component testing 3. system testing

what are the goals of program testing?

1. validation test > to demonstrate that the software meets the requirements 2. defect test > to discover situations in which the behavior is incorrect

Acceptance Testing

Customers test a system to decide whether or not it is ready to be accepted from the system developers and deployed in the customer environment. Primarily for custom systems.

In a automated testing process, regression testing is expensive but, with manual testing, it is simple and straightforward(True/False)

False

software inspection is a non-effective technique for discovering program errors(True/False)

False

system inspections do not require involvement of people in discovering anomalies(True/False)

False

when executing a program during a test, real data is used(True/False)

False -> Artificial data

release testing is a defect testing process(True/False)

False -> Black-Box

in partition testing, test cases should be chosen randomly(True/False)

False -> chosen for each partition

inspection and testing are incompatible(True/False)

False -> complementary

in component test, one can access functionality through undefined component interface(True/False)

False -> defined

in partition testing, I/O results fall into same classes, where all members of a class are related(True/False)

False -> fall into different classes

in custom software there should be tests for all of the system features and the combinations for these features(True/False)

False -> generic software

inheritance makes it easier in designing object classes tests(True/False)

False -> more difficult

use case testing is a basis for component testing(True/False)

False -> system testing

component testing is a defect testing process(True/False)

False -> unit testing

system testing

Testing the entire system as one entity to ensure that it is working properly

inspection does not require the execution of a system and maybe used before implementation(True/False)

True

Inspection cannot check conformance with non-functional requirements(True/False)

True

Inspections can check conformance with a specification but not conformance with the customer's real requirements(True/False)

True

System testing tests the emergent behavior of a system(True/False)

True

component testing should focus on testing components interfaces(True/False)

True

each class represents an equivalent partition/domain, where the program behaves in a equivalent way for each class member(True/False)

True

exhaustive system testing is impossible, therefore testing policies may be developed(True/False)

True


Ensembles d'études connexes

Series 65 Unit 2 Investment Company Securities

View Set

Chapter 14 The Money Supply Process

View Set

Chapter 07 - Using Consumer Loans

View Set

To Kill a Mockingbird - Vocabulary (Chapters 18-21)

View Set

Ch 54: Care of the Patient with a Neurologic Disorder

View Set

Foundations chapter 5,6,7,8,9,39,40,41

View Set