tag:blogger.com,1999:blog-28344720.post8879898919394225535..comments2024-02-21T06:47:29.430-07:00Comments on Chip Overclock<sup><small>®</small></sup>: When Code Coverage Is Necessary But Not SufficientChip Overclockhttp://www.blogger.com/profile/11195242013008369733noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-28344720.post-78874156017230303792012-05-18T12:59:32.861-06:002012-05-18T12:59:32.861-06:00I agree, it's not always practical. But when i...I agree, it's not always practical. But when it is, it only makes sense to test all of them. And when you can't, you definitely need to understand the risk you're taking on.Chip Overclockhttps://www.blogger.com/profile/11195242013008369733noreply@blogger.comtag:blogger.com,1999:blog-28344720.post-7155362586975103112012-05-18T12:40:28.284-06:002012-05-18T12:40:28.284-06:00Great post. I too am an embedded system developer,...Great post. I too am an embedded system developer, and performing unit tests without testing the full range of input values, is not very trustworthy in my view. <br />This however presents the problem with running the tests themselves. CPU cycles can become quite expensive especially when testing functions with interfaces like these: foo(U32 i, U32 u)... this makes for the total combination of Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-28344720.post-78929490029351971132008-11-09T09:35:00.000-07:002008-11-09T09:35:00.000-07:00Forgot to say: as always, thanks for your insightf...Forgot to say: as always, thanks for your insightful comments, Joe!Chip Overclockhttps://www.blogger.com/profile/11195242013008369733noreply@blogger.comtag:blogger.com,1999:blog-28344720.post-77280019374610889172008-11-09T09:18:00.000-07:002008-11-09T09:18:00.000-07:00In the particular case I was describing, the 15 di...In the particular case I was describing, the 15 digit string was split into smaller fields, each of which could be tested for its full range, because several fields were the same length and hence used the same encoding algorithm.<BR/><BR/>I agree with you in principle. You have to be smart about picking your test cases, testing boundary and edge conditions in particular.<BR/><BR/>In the example IChip Overclockhttps://www.blogger.com/profile/11195242013008369733noreply@blogger.comtag:blogger.com,1999:blog-28344720.post-58330202558564998302008-11-09T08:33:00.000-07:002008-11-09T08:33:00.000-07:00Hey Chip,While I agree in this case it was probabl...Hey Chip,<BR/><BR/>While I agree in this case it was probably easier to just test every value, this approach doesn't scale. What if your identity string was a twenty digit value (equivalent to a 64-bit binary value)? Suddenly, even if you can test a million combinations a second, it is not possible to test all combinations in under half a million years!<BR/><BR/>The first question that came to mcjoehttps://www.blogger.com/profile/15263012642896337066noreply@blogger.com