刚刚重温了经典的C教材K&R。并阅读练习 1-11:
您将如何测试字数统计程序?如果有错误,什么样的输入最有可能发现错误?
其实,我只有一个基本的想法,就是手动统计一个现有的段落,得到准确的字数,并与字数统计程序计算的结果进行比较。
有什么我遗漏的吗?测试的技巧是什么?
编辑
答案摘要:
词的语义定义,一些特殊情况:
- 链接词:“cat-walk”
- 小词:a,b,c
- biiiiiig 单词:“a foooooooooo<40MILLIONLETTERS>ooooooo a”有 3 个单词
边界条件:
- 单词之间有多个空格的文本。
- 大于 2GB 的文本
- 包含破折号但不含空格的单词。
- 非 ascii 字词。
- 一些不同编码的文件(如果你的程序支持的话)
- 被空格包围但不包含任何单词字符的字符(例如“hello - world”)
- 没有任何文字的文本
- 所有单词在一行的文本
最佳答案
好吧,这取决于您在语义上将什么定义为单词。 因为是您在编写字数统计程序,所以您应该知道什么是字。
因此,要测试此程序,您必须考虑边界情况在哪里:“链接词”算作一个还是两个词?你认为“我是”是一个还是两个?等等。
至于 K&R 练习,我猜他们是自愿忘记了其中一些极端情况,他们建议您在分析他们的代码时找到这些注意事项。
关于c - 如果有任何未发现的错误,如何测试字数统计程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5717411/