Part E: Testing Flashcards

1
Q

Testing definitions

What are Error, Fault, Failure and Incident?

A

Error: People make errors. A good synonym is mistake. When people make mistakes while coding, we call these mistakes bugs. Errors tend to propagate; a requirements error may be magnified during design and amplified still more during coding.
Fault: A fault is the representation of an error, also called defect.
Failure: A failure occurs when the code corresponding to a fault executes. Software faults become software failures only when they are executed.
Incident: An incident is the symptom associated with a failure that alerts the user to the occurrence of a failure.

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

Testing definitions

What is testing?

A

Testing is concerned with errors, faults, failures, and incidents. A test is the act of exercising software with test cases.

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

Testing definitions

What is your view of the goal of testing?

A

A test has two distinct goals: to find failures or to demonstrate correct execution.

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

Testing definitions

What are the limitations of testing?

A

Testing cannot prove correctness
Testing can demonstrate the presence of defects
Testing cannot prove the absence of defects

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

Testing levels

Name and describe the different levels of testing.

A

Unit Testing
UNIT TESTING is a type of software testing where individual units or components of a software are tested. The purpose is to validate that each unit of the software code performs as expected. Unit Testing is done during the development (coding phase) of an application by the developers. Unit Tests isolate a section of code and verify its correctness. A unit may be an individual function, method, procedure, module, or object.

Component Testing
Component Testing is performed on each individual component separately without integrating with other components. Component testing is performed by testers. ‘Unit Testing’ is performed by the developers where they do the testing of the individual functionality or procedure. After Unit Testing is performed, the next testing is component testing. Component testing is done by the testers. It’s one of the most frequent black box testing types which is performed by the QA Team.

Integration Testing
INTEGRATION TESTING is defined as a type of testing where software modules are integrated logically and tested as a group. The purpose of this level of testing is to expose defects in the interaction between these software modules when they are integrated

System Testing
System Testing (ST) is a black box testing technique performed to evaluate the complete system's compliance against specified requirements. In System testing, the functionalities of the system are tested from an end-to-end perspective. System Testing is usually carried out by a team that is independent of the development team in order to measure the quality of the system unbiased. It includes both functional and Non-Functional testing.

Acceptance Testing
Acceptance testing, a testing technique performed to determine whether or not the software system has met the requirement specifications. The main purpose of this test is to evaluate the system’s compliance with the business requirements and verify if it has met the required criteria for delivery to end users.
There are various forms of acceptance testing:
User acceptance Testing
Business acceptance Testing
Alpha Testing
Beta Testing

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

Testing process

What is a common process of doing testing according to ISTQB?

A

Analyse Test Basis
Identify Test Conditions
Design and Specify Test Cases
Develop Test Procedures

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

Testing challenges

What are the common testing challenges?

A

Not enough time to test properly, test well, test thoroughly
Difficulty in determining the expected results of each test
Nonexistent or rapidly changing requirements
Management that either doesn’t understand testing or doesn’t care about quality
No training in testing process
No tool support

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

White box & black box testing

What is “white box testing”?

A

White Box Testing is software testing technique in which internal structure, design and coding of software are tested to verify flow of input-output and to improve design, usability and security. In white box testing, code is visible to testers.

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

White box & black box testing

What is “black box testing”?

A

Black-box testing is a method of software testing that examines the functionality of an application based on the specifications. The content (implementation) of the black box is not known, and the function of the black box is understood completely in terms of its inputs and outputs.

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

Test cases

What is a test case?

A

A test case is a set of inputs and a list of expected outputs

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

Test cases

When do we say a set of test cases are effective and efficient?

A

Effective – detect more faults
• Focus attention on specific types of faults
• Know you’re testing the right thing
Efficient – detect faults with less effort
• Avoid duplication
• Systematic techniques are measurable and repeatable

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

Test coverage

What is test coverage and why is it useful?

A

Test coverage is a measure of how much of the program is executed when a set of test cases are run, in percentage. For example the number of lines of code or number of paths that is covered when the program runs.

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

Test coverage

Name and describe a few code coverages

A

test coverage is to see how much of the code you execute with your test case.

Statement coverage - statements executed by test case
decision coverage - decisions executed by test case. Stronger than statements coverage.
condition coverage -
path coverage -

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

Test coverage

Is a set of test cases with higher coverage are “better” test cases (discuss in terms of more effective and efficient)?

A

high test coverage makes it efficient, but it does not tell it to be more effective.

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

Static testing

What is review?

A

Review is to read the code of another person’s work.

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

Static testing

Why is it important?

A

IT is important because you can find faults easily without doing tests.

17
Q

Static testing

What are the benefits of using this technique?

A

The benefit is that you save money and are more productive. Finding faults this early is cheap, whereas in later stages can be very expensive

18
Q

Regression testing

What is the difference between testing and regression testing?

A
  • Testing starts with a specification, an implementation of the specification and a test plan
  • Regression testing starts with a specification, a modified program, and an old test plan
  • Testing aims to check the correctness of the whole program
  • Regression testing aims to check parts of the program
  • Testing occurs frequently during code production
  • Regression testing occurs many times throughout the life of a product, once after every modification is made to it