基于Web的项目的自动测试

前端之家收集整理的这篇文章主要介绍了基于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的反馈框就是一个很好的例子.快速而礼貌地回应他们的错误(即使它只是“感谢信息”),你会发现他们会很高兴你对他们的需求如此敏感!

猜你在找的HTML相关文章