Within an embedded software project, the maintainability of the software is considered to be critical. It has been decided to use static analysis on each delivered software component.
Which of the following metrics is NOT a maintainability metric typically used with static analysis?
Maintainability metrics typically used with static analysis include measures that reflect the complexity and understandability of the code, such as Number of Lines of Code (LOC), Number of Function Calls, and Comment Frequency. These metrics help in assessing how easily the software can be understood, modified, and maintained. Mean Time Between Failures (MTBF), on the other hand, is a reliability metric. It measures the time elapsed between inherent failures of a system during operation. MTBF is used to predict the system's reliability and is not directly related to the maintainability of the code. Reliability metrics like MTBF would be used in the testing phase to measure the operational reliability of the system rather than during static analysis for maintainability assessment.
You are involved in testing a system in the medical domain. Testing needs to comply with the FDA requirements and is rated as being safety critical. A product risk assessment has been performed and various mitigation actions have been identified. Reliability testing is one of the test types that needs to be performed throughout the development lifecycle.
Based on the information provided, which of the following activities would need to be addressed in the test plan?
In the context of safety-critical systems, particularly in the medical domain, reliability is of utmost importance. For such systems, it is crucial to ensure that the software can handle unexpected input values and continue to operate without failure. This is essential to ensure patient safety and compliance with FDA requirements. Vulnerability scans (option A) are more related to security testing, whereas scalability (option C) and installation/de-installation (option D) are important but not specifically related to the reliability and safety criticality of the system in the medical domain.
A new reusable software component that handles sensor management has been developed. It will be used in manufacturing processes that work at SIL 2 and avionics systems where failure could lead to a "major" incident. The code contains no loops but does contain decisions with multiple conditions. Which of the following would be the BEST structure-based testing option for the new software?
Context of the Problem:
The software component handles sensor management.
It is used in manufacturing processes that work at SIL 2 and avionics systems.
Failure could lead to a 'major' incident.
The code contains decisions with multiple conditions and no loops.
Safety Integrity Level (SIL) 2:
SIL 2 indicates that the software must adhere to stringent safety standards.
Avionics systems also require high safety standards due to the potential consequences of failure.
Testing Options:
MC/DC (Modified Condition/Decision Coverage):
MC/DC is essential for high-integrity and safety-critical systems like avionics.
Ensures each condition in a decision has been shown to independently affect the outcome.
Required by standards such as DO-178C for avionics software at certain levels.
API Coverage:
Focuses on testing the interfaces between components.
Important but not sufficient alone for high-integrity, safety-critical systems.
Decision Coverage:
Ensures that each decision point (i.e., if statements) is evaluated as both true and false.
Less comprehensive than MC/DC for safety-critical applications.
Statement Coverage:
Ensures that each statement in the code has been executed at least once.
Basic level of coverage, insufficient for safety-critical systems like those at SIL 2.
Best Option:
Given the high safety requirements (SIL 2, major incident potential), MC/DC coverage is the best option. It provides a thorough level of testing needed to meet safety standards.
You are working for a video game manufacturer You have a new title being released Market interest in the product is at an all time high and everyone in the company has been promised huge bonuses if the launch is successful You are responsible for portability testing Which area, m particular should you emphasize in your testing?
In portability testing for a video game that is anticipated to be highly popular, the key area to emphasize is installability. This involves ensuring that the game can be successfully installed across different platforms and configurations that potential players might use. Focusing on installability helps minimize technical barriers to entry, crucial for a successful launch and widespread adoption of the game .
Given the following pseudo code for a program to solve quadratic equations:
program Quadratic Formula
integer: a, b, c, d
floating point: r1, r2
READ (a)
READ (b)
READ (c)
d := (b * b) - (4 * a * c)
IF d < 0 THEN
PRINT ("Imaginary Roots")
ELSE
r1 := (-b + sqrt(d)) / (2 * a)
r2 := (-b - sqrt(d)) / (2 * a)
PRINT ("first root is: " r1)
PRINT ("second root is: " r2)
ENDIF
END program Quadratic_Formula
Which of the following checklist items is MOST likely to indicate a problem in this program?
Analysis:
The given pseudo code for solving quadratic equations includes operations that involve division. One of the critical issues in such operations is ensuring that the divisor is not zero, which would result in a division by zero error.
Checklist Item:
D . Are divisors tested for zero or noise?:
This checklist item addresses the potential problem of dividing by zero. In the pseudo code, the variable a is used as a divisor in the formula (-b sqrt(d)) / (2 * a). If a is zero, this will result in a division by zero error. Therefore, it is crucial to test whether a is zero before performing the division.
Explanation of Incorrect Options:
A . Does the code avoid comparing floating point numbers for equality?:
This is important but not directly relevant to the given pseudo code's primary issue.
B . Are all variables properly defined with meaningful, consistent and clear names?:
This is good practice but does not address the critical issue of division by zero.
C . Are there any redundant or unused variables?:
Identifying unused variables is helpful for code clarity but does not address the primary functional issue in the pseudo code.
The ISTQB CTAL-TTA syllabus and standard code review practices emphasize the importance of ensuring safe arithmetic operations, particularly avoiding division by zero.
Sources:
ISTQB-CTAL-TTA Syllabus
General knowledge on code review and arithmetic operations.
Eve
11 days agoDenae
17 days agoAlva
24 days agoGraham
1 months agoJoanne
2 months agoVan
2 months agoJill
3 months agoTimmy
3 months agoArminda
4 months agoBuck
4 months agoStefany
4 months agoEliz
5 months agoGerry
5 months agoKimberely
5 months agoOtis
6 months agoBeckie
6 months agoAntonio
6 months agoRaul
6 months agoStarr
6 months agoSerina
7 months agoMerri
7 months agoBrice
7 months agoMarci
7 months agoRosamond
7 months agoAaron
8 months agoRosendo
8 months agoStacey
8 months agoReiko
8 months agoTiera
8 months agoGilma
9 months agoAhmed
9 months agoCarey
9 months agoPamella
9 months agoRoxane
10 months agoKami
10 months agoEarleen
10 months agoTennie
10 months agoMatthew
10 months agoKris
11 months agoMicaela
12 months agoAshanti
1 years agoMiles
1 years agoAntonio
1 years agoBlair
1 years agoRodney
1 years agoRoxanne
1 years agoCasey
1 years ago