首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何测试单词计数程序,如果有任何未发现的错误?

如何测试单词计数程序,如果有任何未发现的错误?
EN

Stack Overflow用户
提问于 2011-04-19 13:50:31
回答 5查看 4.9K关注 0票数 6

我只是重温了经典的C教科书K&R,并阅读了练习1-11:

你将如何测试单词计数程序?哪些类型的输入最有可能发现bug(如果有)?

实际上,我只有一个基本的想法,手动计数一个现有的段落,以获得准确的单词编号,并将其与结果的单词计数程序计算。

我错过了什么吗?考试的诀窍是什么?

编辑

答覆摘要:

词的语义定义,一些特殊情况:

  • 链接词:“猫走”
  • 小字: a,b,c
  • "a fooooooooo<40MILLIONLETTERS>ooooooo a“有三个词

边界条件:

  • 单词之间有多个空格的文本。
  • 大于2GB的文本
  • 包含破折号但没有空格的单词。
  • 非ascii词。
  • 不同编码的文件(如果您的程序支持这种编码)
  • 被空格包围但不包含任何单词字符的字符(例如"hello - world")
  • 没有任何文字的文本
  • 所有单词都放在一行上的文本
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-04-19 13:56:06

这取决于你在语义上把什么定义为单词。因为是你在写单词计数程序,所以你应该知道单词是什么。

因此,要测试这个程序,你必须考虑角落的情况是什么:一个“链接词”是否算作一个或两个单词?你认为“我”是一两个吗?等等。

至于K&R练习,我想他们是主动忘记了其中的一些情况,他们建议你,分析他们的代码,找出这些警告。

票数 2
EN

Stack Overflow用户

发布于 2011-04-19 13:58:05

以下是一些可以发现bug的文本示例:

  • 单词之间有多个空格的文本。
  • 大于2GB的文本
  • 包含破折号但没有空格的单词。
  • 非ascii词。
  • 不同编码的文件(如果您的程序支持这种编码)
  • 被空格包围但不包含任何单词字符的字符(例如"hello - world")
  • 没有任何文字的文本
  • 所有单词都放在一行上的文本
票数 2
EN

Stack Overflow用户

发布于 2011-04-19 13:58:05

我还没有为这个答案重读练习1-11 .(我的书在60公里外)

可能被编码错误的东西

  • 小单词:"a b c d"有4个单词
  • "a fooooooooo<40MILLIONLETTERS>ooooooo a"有3个单词
  • 几个符号的使用:",.!? ...

可能未被理解的定义

  • "cat-walk" 1字?2字?
  • 单词中间的"under-\nstood"行断线(带连字符)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5717411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档