<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 01/07/2020 18:12, Martyn Thomas
wrote:</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><snip></div>
<div class="moz-cite-prefix"><br>
</div>
<blockquote type="cite"
cite="mid:b0bc32f7-12fd-a746-4fa3-4eaccda37063@thomas-associates.co.uk">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
... and, in practice, a SPARK development wouldn't find anything
much at all in any cost-effective amount of unit testing, so it's
a sensible engineering decision to omit it.</blockquote>
<p><br>
</p>
<p>I'm not so sure. Presumably the CbyC approach would effectively
replace 100% equivalence-class testing ... BUT ...</p>
<p>(1) How well would that protect you against errors that would be
detected by 100% strong, robust boundary-value testing? (see
Jorgensen's definition - bib details below - sorry if the
cut-and-paste from Amazon makes for iffy formatting)<br>
</p>
<p>(2) Could it identify code through which there were more simple
paths than actually needed to pass all the equivalence-class test
cases? - Or is one testing only for functional correctness and not
minimal control-flow complexity? (Given the ordure I've seen in C
program flowgraphs, I'd want at least some way to warn people if
their code was unnecessarily cumbersome.)</p>
<p>That's the reason I try to ensure that my code units have the
property that every set of test cases that achieves 100%
boundary-value coverage also attains 100% simple-path coverage.
It's not instead-of CbyC (where that is possible) but
belt-and-braces-in-addition-to CbyC - which in C developments is,
I think, entirely justified.</p>
<p><br>
</p>
<p>Olwen</p>
<p><br>
</p>
<h1 id="title" class="a-spacing-none a-text-normal"
style="box-sizing: border-box; padding: 0px; margin-top: 0px;
margin-right: 0px; margin-bottom: 0px !important; margin-left:
0px; text-rendering: optimizelegibility; font-size: 28px;
line-height: 1.2; font-style: normal; text-transform: none;
text-decoration-line: none !important; text-decoration-style:
initial; text-decoration-color: initial; color: rgb(17, 17, 17);
font-family: "Amazon Ember", Arial, sans-serif;
font-variant-ligatures: normal; font-variant-caps: normal;
letter-spacing: normal; text-align: start; text-indent: 0px;
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width:
0px; background-color: rgb(255, 255, 255);"><font size="-1"><span
id="productTitle" class="a-size-extra-large"
style="box-sizing: border-box; font-size: 19px !important;
line-height: 1.2 !important; text-rendering:
optimizelegibility;">Jorgensen, P. C., Software Testing: A
Craftsman's Approach, Auerbach Publications, 4ed, 2013, </span><span
style="box-sizing: border-box;">ISBN-10:</span><span> </span>1466560681<span
style="box-sizing: border-box;">, ISBN-13:</span><span> </span>978-1466560680</font></h1>
<p><br>
</p>
<br>
<p><br>
</p>
<br>
</body>
</html>