Test 5 Flashcards

1
Q

____ The goal of testing is to find errors.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

____ A good test is one that has a low probability of finding an error.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

____ One should not consider a design and implement for a computer-based system or a product with “testability” in mind.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

____ The tests themselves must exhibit a set of characteristics that achieve the goal of finding the most errors with a maximum of effort.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

____ A good test should be neither too simple nor too complex.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Any engineered product (and most other things) can be tested in one of two ways: Fill in the blank AND define each. Part 1 of 2

A

Black-box testing (Functional testing) Knowing the specified function that a product has been designed to perform, tests can be conducted that demonstrate each function is fully operational while at the same time searching for errors in each function

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Any engineered product (and most other things) can be tested in one of two ways: Fill in the blank AND define each. Part 2 of 2

A

White-box testing (Structural testing) Knowing the internal workings of a product, tests can be conducted to ensure that “all gears mesh,” that is, internal operations are performed according to specifications and all internal components have been adequately exercised.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

White-box testing is:

A
  1. Guarantee that all independent paths within a module have been exercised at least once
  2. Exercise all logical decisions on their true and false sides
  3. Execute all loops at their boundaries and within their operational bounds
  4. Exercise internal data structures to ensure their validity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Black-box testing tries to find:

A
  1. Incorrect or missing functions
  2. Interface errors
  3. Errors in data structures or external database access
  4. Behavior or performance errors
  5. Initialization and termination errors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

techniques that can be used for designing black box tests:

A

Equivalence Partitioning – It is a software test design technique that involves dividing input values into valid and invalid partitions and selecting representative values from each partition as test data.

Boundary Value Analysis – It is a software test design technique that involves the determination of boundaries for input values and selecting values that are at the boundaries and just inside/ outside of the boundaries as test data

Cause-Effect Graphing – It is a software test design technique that involves identifying the cases (input conditions) and effects (output conditions), producing a Cause-Effect Graph, and generating test cases accordingly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Testing for real-time systems

A

The time-dependent, asynchronous nature of many real-time applications adds a new and potentially difficult element to the testing mix—time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Testing for Real-Time Systems four step strategy:

A
  1. Task testing - -test each task independently
  2. Behavioral testing – simulate the behavior of a real-time system and examine its behavior as a consequence of external events
  3. Inter-task testing – Asynchronous tasks that are known to communicate with one another are tested with different data rates and processing load to determine if inter-task synchronization errors
  4. System testing – Software and hardware are integrated, and a full range of system tests are conducted in an attempt to uncover errors at the software-hardware interface
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

OO Testing: three things to be done

A
  1. the definition of testing must be broadened to include error discovery techniques applied to object-oriented analysis and design models
  2. the strategy for unit and integration testing must change significantly
  3. the design of test cases must account for the unique characteristics of OO software.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

he definition of testing must be broadened to include error discovery techniques applied to object-oriented analysis and design models

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

If the model accurately reflects the real world (to a level of detail that is appropriate to the stage of development at which the model is reviewed) then it is semantically correct.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Class testing for OO software is the equivalent of unit testing for conventional software.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

class testing for OO software is driven by the operations encapsulated by the class and the state behavior of the class.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Because object-oriented software does not have a hierarchical control structure, conventional top-down and bottom-up integration strategies have little meaning.

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Integration testing –

A
  1. Thread-based testing integrates the set of classes required to respond to one input or event for the system
  2. Use-based testing begins the construction of the system by testing those classes (called independent classes) that use very few (if any) of server classes. After the independent classes are tested, the next layer of classes, called dependent classes
  3. Cluster testing[McG94] defines a cluster of collaborating classes (determined by examining the CRC and object-relationship model) is exercised by designing test cases that attempt to uncover errors in the collaborations.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Testing methods (1 of 2)

A

Fault-based testing – The tester looks for plausible faults (i.e., aspects of the implementation of the system that may result in defects). To determine whether these faults exist, design tests that have a high likelihood of uncovering plausible faults.

21
Q

Testing methods (2 of 2)

A

Scenario-Based Test Design – Scenario-based testing concentrates on what the user does, not what the product does. This means capturing the tasks (via use-cases) that the user has to perform, then applying them and their variants as tests. Also, scenarios uncover Interaction errors.

22
Q

OOT methods: Partition testing

A
  1. state-based partitioning – categorize and test operations based on their ability to change the state of a class
  2. attribute-based partitioning – categorize and test operations based on the attributes that they use
  3. category-based partitioning –categorize and test operations based on the generic function each performs
23
Q

When you build computer software, change happens.

A

True

24
Q

And because it happens, you need to manage it effectively.

A

True

25
Q

Software configuration management (SCM), also called change management, is a set of activities designed to manage change by identifying the work products that are likely to change, establishing relationships among them, defining mechanisms for managing different versions of these work products, controlling the changes imposed, and auditing and reporting on the changes made.

A

True

26
Q

Software Configuration Management is changing all the time

A

True

27
Q

________________ is a set of tracking and control activities that are initiated when a software engineering project begins and terminates only when the software is taken out of operation.

A

Software configuration management

28
Q

____ Software configuration management (SCM) is an umbrella activity that is applied throughout the software process.

A

True

29
Q

____ A primary goal of software engineering to improve the ease with which changes can be accommodated.

A

True

30
Q

____ A primary goal of software engineering to increase the amount of effort expended when changes must be made.

A

True

31
Q

____ The change control board is responsible for approving changes.

A

True

32
Q

____ A baseline is a software configuration management concept that helps you to control change without seriously impeding justifiable change.

A

True

33
Q

____ Version Control is not a component of software configuration management.

A

True

34
Q

____ Revision control allows for the ability to revert a document to a previous revision, which is critical for allowing editors to track each other’s edits, correct mistakes, and defend against vandalism and spamming

A

True

35
Q

_____ Revision control software is used to maintain documentation, configuration files, and source code.

A

True

36
Q

_____ Code that has been checked out of a revision control system but has not been checked back into the system (or committed) is known as a “working copy”.

A

True

37
Q

What are the 5 repository features discussed in class:

A
  1. Versioning. – saves all of these versions to enable effective management of product releases and to permit developers to go back to previous versions
  2. Dependency tracking and change management. – The repository manages a wide variety of relationships among the data elements stored in it.
  3. Requirements tracing. – Provides the ability to track all the design and construction components and deliverables that result from a specific requirement specification
  4. Configuration management. – Keeps track of a series of configurations representing specific project milestones or production releases. Version management provides the needed versions, and link management keeps track of inter-dependencies.
  5. Audit trails. – establishes additional information about when, why, and by whom changes are made.
38
Q

The output of the software process is information that may be divided into three broad categories:

A
  1. computer programs(both source level and executable forms)
  2. work products that describe the computer programs(targeted at various stakeholders)
  3. data or content (contained within the program or external to it).
39
Q

Because change can occur at any time, SCM activities are developed to:

A
  1. Identify change
  2. Control change
  3. Ensure that change is being properly implemented
  4. Report changes to others who may have an interest
40
Q

_______________ is a set of software engineering activities that occur after software has been delivered to the customer and put into operation.

A

Software support

41
Q

____________________ is a set of tracking and control activities that are initiated when a software engineering project begins and terminates onlywhen the software is taken out of operation.

A

Software configuration management

42
Q

The items that comprise all information produced as part of the software process are collectively called ________________

A

Software configuration

43
Q

Centralized revision control

A
  • client-server approach
  • single authoritative data store and check-outs and check-ins done with reference to this central repository.
  • single, central repository on which clients synchronize
44
Q

Distributed revision control

A
  • peer-to-peer approach
  • each peer’s working copy of the code base is a bona-fide repository
  • No single established reference copy of the code base exists by default; only working copies.
  • Common operations (such as commits, viewing history, and reverting changes) are fast, because there is no need to communicate with a central server
45
Q

Advantages of Distributed Revision Control Systems

A
  1. Allows users to work productively when not connected to a network.
  2. Common operations (commits, viewing history, and reverting changes) are faster for DVCS, because there is no need to communicate with a central server.With DVCS, communication is only necessary when sharing changes among other peers.
46
Q

Disadvantages of Distributed Revision Control Systems

A
  1. Initial cloning of a repository is slower as compared to centralized checkout, because all branches and revision history are copied to your local machine.
  2. The lack of locking mechanisms that is part of most centralized VCS and still plays an important role when it comes to non-merge-able binary files such as graphic assets.
47
Q

Testing Quality Dimensions part 1 of 2

A
  1. Content is evaluated at both a syntactic and semantic level.
  2. syntactic level—spelling, punctuation and grammar are assessed for text-based documents.
  3. semantic level—correctness (of information presented), consistency (across the entire content object and related objects) and lack of ambiguity are all assessed.
  4. Function is tested for correctness, instability,and general conformance to appropriate implementation standards (e.g.,Java or XML language standards).
  5. Structure is assessed to ensure that it
    - –properly delivers Web-App content and function
    - - is extensible
    - -can be supported as new content or functionality is added.
48
Q

Testing Quality Dimensions-part 2 of 2

A
  1. Usability is tested to ensure that each category of user
    - - is supported by the interface
    - - can learn and apply all required navigation syntax and semantics
  2. Navigability is tested to ensure that
    - - all navigation syntax and semantics are exercised to uncover any navigation errors (e.g., dead links, improper links, erroneous links).
  3. Performance is tested under a variety of operating conditions, configurations, and loading to ensure that – the system is responsive to user interaction
    - - the system handles extreme loading without unacceptable operational degradation