微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

基于Web的项目的自动测试

最近我提出了一个问题,就是花费开发时间为基于Web的项目生成自动单元测试是否值得?我的意思是它在某些时候似乎毫无用处,因为在某些时候这些项目是面向与用户/客户的交互,因此您无法预测整个可能的用户操作集,因此您可以检查显示内容的正确性.甚至回归测试也很难完成.因此,我非常渴望了解其他有经验的开发人员的意见.

解决方法

You cannot anticipate the whole
possible set of user action so you be
able to check the correctness of
content showed.

您无法预测代码将要传递的所有可能数据,或者所有可能的竞争条件(如果它是线程化的),但您仍然需要单元测试.为什么?因为你可以把它缩小到很多.你可以预见到会发生的各种病态事情.你只需要考虑一下并获得一些经验.

用户互动也不例外.用户会尝试做某些事情,病态与否,你可以预见到它们.用户只是输入特别富有想象力的数据.你会发现程序员往往会一遍又一遍地忽略相同的条件.我保留一份清单.例如:将Unicode泵入所有内容;把结束日期后的开始日期;输入乱码数据;把标签放在一切;不要使用尾随换行符;尝试两次输入相同的数据;提交表格,返回并再次提交;拿一个文本文件,称之为foo.jpg并尝试将其上传图片.你甚至可以编写一个程序来随意翻转开关和按钮,一只坏猴子,它会发现各种有趣的错误.

它常常像坐在不熟悉软件并且看着他们使用它的人一样简单.打击纠正它们的冲动,只是看着它们挣扎.它很有教育意义. Steve Krug将此称为“Advanced Common Sense”并且有一本名为“Do not Make Me Think”的优秀书籍,涵盖便宜,简单的用户交互测试.我强烈推荐它.这是一个非常简短的开放阅读.

最后,客户自己,如果他们的期望得到适当的准备,可以是一个梦幻般的测试套件.确保他们了解其正在进行的工作,它将有错误,他们正在帮助他们的产品更好,并且它绝对不应该用于生产数据,并让他们修补预发布版本的你的产品.他们会做各种你从未想过的事情!它们将是您有史以来最好,最真实的测试,免费!给他们一个非常简单的方法来报告错误,最好只在应用程序上的一个按钮框自动提交他们的环境和历史记录; Hiveminder的反馈框就是一个很好的例子.快速而礼貌地回应他们的错误(即使它只是“感谢信息”),你会发现他们会很高兴你对他们的需求如此敏感!

原文地址:https://www.jb51.cc/html/227649.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐