Lecture 6 Flashcards

1
Q

What are the objectives of a software test plan?

A

To identify testing objectives
To establish the testing scope
To define the testing strategy
To allocate testing resources
To identify risks and contingency plans
To define the acceptance criteria

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

What is meant by identifying testing objectives?

A

The test plan should define the overall testing objectives of the project, including the quality criteria that the software should meet

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

What is meant by defining the test strategy?

A

The test plan should outline the testing strategy for the project, including the testing methods, techniques and tools that will be used to verify the software’s functionality and performance

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

What is meant by establishing the testing scope?

A

The test plan should identify the scope of the testing activities, including features and functions of the software that will be tested, the types of testing that will be conducted and the testing environments that will be used

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

What is meant by allocating testing resources?

A

The test plan should identify the resources required for testing, such as the number of testers, test environments and testing tools. It should also specify the roles and responsibilities of each member of the testing team

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

What is meant by identifying risks and contingency plans?

A

The test plan should identify the potential risks to the testing activities and define contingency plans to mitigate those risks

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

What is meant by defining the acceptance criteria?

A

The test plan should establish the criteria that will be used to determine whether the software is ready for release. These should be aligned with the testing objectives and quality criteria defined earlier.

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

What is a test case?

A

A specific scenario or condition that is designed to test the functionality of a software application or system.

It is a set of steps or inputs that are executed by a tester or testing team to verify the system or application is working as expected.

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

What elements are in a test case ?

A

Test case ID: A unique identifier for the test case

Test case description: A brief description of what the test case is intended to test

Preconditions: Any necessary conditions that must be met before the test can be executed

Test steps: The specific steps that must be executed to perform the test

Expected result: The expected outcome of the test

Actual result: The actual outcome of the test

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

What is the importance of test cases?

A

To ensure that the software works as intended
To verify changes
To improve software quality
To provide documentation

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

What are the 14 essential things to include in your software test plan as part of the quality analysis process?

A

Objectives and scope of testing
Test strategy
Test environment
Test schedule
Test deliverables
Test team roles and responsibilities
Test case design
Test execution
Test data
Test metrics
Defect management
Risk management
Test completion criteria
Sign off and approval

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

Describe 6 of the essential things to include in your software test plan as part of the QA process

A

Objectives and scope of testing is where the test plan clearly defines the objectives of testing and the scope of testing effort.

Test strategy is the outline of the overall approach to testing, including the types of testing to be performed and the tools and techniques to be used.

Test environment is the hardware and software required to conduct testing as well as any special requirements or configurations.

Test schedule is the timeline for testing, including the milestones, deadlines and dependencies.

Test deliverables is the specification of the testing deliverables such as test cases, test scripts and test reports.

Test team roles and responsibilities is the definition of the roles and responsibilities of the members of the testing team, including the test manager, testers and other stakeholders.

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

What are the most common programming errors?

A

Syntax errors
Logic errors
Runtime errors
Null pointer errors
Type errors
Boundary errors
Integration errors
Performance errors
Compatibility errors
Documentation errors

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

Describe 6 of the most common programming errors

A

Syntax errors occur when there is a mistake in the syntax of the programming language. E.g a missing semicolon or incorrect use of quotes.

Logic errors occur when the program compiles and runs without errors but produces incorrect results. This can happen when there is a mistake in the algorithm or logic used in the program.

Runtime errors occur when the program is running and encounters a problem that prevents it from continuing. This can happen due to memory overflow or an invalid input.

Null pointer errors occur when the program attempts to use a null pointer, which is a pointer that doesn’t point to a valid memory location.

Type errors occur when there is a mismatch between the type of data being used and the type expected by the program. E.g trying to add a string to an int value

Boundary errors occur when the program attempts to access data beyond the bounds of an array or other data structure. This can result in memory corruption or program crashes.

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

What is debugging?

A

The process of finding and fixing errors or defects in a computer program.

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

Why is debugging an essential step in software development process?

A

Because it ensures that the program is working as intended and that any issues are identified and resolved before the program is released to users.

17
Q

What occurs during debugging?

A

A programmer uses a range of tools and techniques to identify and isolate the cause of errors in the program. This includes examining error messages, tracing the flow of code execution and using debugging tools for line by line investigation.

Once the cause of an error is identified the programmer can then work to fix the issue. This can involve making changes to the code, updating configuration settings or adjusting system resources. Once the fix is implemented, the program is tested again to ensure the error is resolved.

18
Q

What is a downside of debugging?

A

It can be a time consuming and challenging process especially for complex programs or for errors that are difficult to reproduce.

19
Q

What are the debugging approaches?

A

Print debugging
Breakpoint debugging
Interactive debugging
Cause-Effect graphing
Code Review
Automated Testing

20
Q

Describe 4 of the debugging approaches

A

Print debugging involves adding print statements to the code to output the values of variables or other information that can help to identify the cause of the error.

Breakpoint debugging involves setting breakpoints in the code at specific points where the program is suspected to be causing an error. When the program reaches the breakpoint, execution is paused allowing the programmer to examine the state of the program and identify the cause of the error.

Interactive debugging involves using a debugger tool that allows the programmer to step through the code line by line, examine variables and data structures and modify the state of the program as it is executing.

Automated testing involves using automated testing tools to identify errors in the program. It is not a substitute for manual testing and other approaches.

21
Q

What are the advantages and disadvantages of print debugging?

A

The advantage is that it is a simple and straightforward approach however it can be time consuming and may not be effective for complex issues.

22
Q

What are the advantages and disadvantages of interactive debugging?

A

It is a powerful approach for identifying and fixing complex issues but it requires a certain level of expertise in using the debugging tool.

23
Q

What are the advantages and disadvantages of automated testing?

A

It is effective for identifying issues that may be difficult to reproduce or that occur only under specific conditions but it cannot replace manual testing and other approaches.