Javascript 对网站界面进行单元测试的方法

Javascript 对网站界面进行单元测试的方法,javascript,testing,user-interface,Javascript,Testing,User Interface,我想知道测试网站“界面功能”的最佳实践是什么 我对测试界面和动态生成内容的方法很感兴趣。特别是,我很难弄清楚是否有可能为需要用户交互的操作创建自动化测试,或者这只是浪费时间,我应该让一些beta测试人员来做这类工作 我将尝试给出一些例子: 因此,当您键入新问题的标题时,会出现一些“相关问题”。显然,您可以实施某种测试,告诉您相关问题的数量正确,并且可以显示这些问题,但是如何测试链接的“正确性”?您是否可以设置一组模拟问题(始终相同),并检查返回的问题是否是一些预先确定的问题?当然,这是可行的,但

我想知道测试网站“界面功能”的最佳实践是什么

我对测试界面和动态生成内容的方法很感兴趣。特别是,我很难弄清楚是否有可能为需要用户交互的操作创建自动化测试,或者这只是浪费时间,我应该让一些beta测试人员来做这类工作

我将尝试给出一些例子:

  • 因此,当您键入新问题的标题时,会出现一些“相关问题”。显然,您可以实施某种测试,告诉您相关问题的数量正确,并且可以显示这些问题,但是如何测试链接的“正确性”?您是否可以设置一组模拟问题(始终相同),并检查返回的问题是否是一些预先确定的问题?当然,这是可行的,但它很难测试搜索算法的健壮性。当其他问题添加到池中时会发生什么?返回的结果是否仍然“相关”

  • 点击某个按钮,会调用一个JS,生成一个“弹出div”,用户可以四处移动。同样,如何自动测试这种接口?您可以测试外观,但如何测试运动

  • 你有一个界面可以将文件上传到网站,嵌入到你的信息中(比如这里的图像图标)。因此,用户需要1)按下按钮2)浏览文件3)等待上传4)按下确定,最后他/她将在消息中看到图像。同样,我可以看到如何为上传自动化测试(例如,尝试上传一个“普通”文件,然后是一个太大、格式不受支持的文件,等等)。但是界面的使用呢?如果
    确定
    浏览
    按钮因任何原因不起作用,那么上传没有用,因为在一天结束时,您仍然无法上传文件并在邮件中看到它


  • 显然,上面所有的测试都非常简单(只要告诉一帮用户测试你的网站,他们就会注意到是否出现了问题),但是你能在这类事情上做(更重要的是,你会花时间实现)自动化测试吗?另外,当进行beta测试时,您是否会让测试人员“疯狂运行”,在站点上做他们想做的任何事情,或者更确切地说,告诉他们您希望他们测试哪些功能。我很乐意参加第一届,但我愿意接受建议。

    我们在这里使用的是。它有一些怪癖,但总的来说,它允许我们极大地增加测试覆盖率,我认为有几千个新的系统测试点击左右。注意,有人可能会争论这是否真的是“单元”测试。我想这取决于你的堆栈。我们必须让我们的系统为此而运行,所以这需要更多的集成测试


    对于JS的纯单元测试,我们使用“中间测试”测试,这种测试虽然不使用真正的浏览器,但仍然提供DOM等等。有些问题可以通过可视化测试来解决,而且有一个很好的框架:


    它允许您期望可视化结果并以编程方式控制网页。

    +1我们也这样做。在每一次新的UI更改中,我们都会在Selenium上运行测试套件,以快速检查是否有任何问题。我真的不在乎它是否被称为单元测试或集成测试或其他什么。。。只要它能检验事物,我就很高兴;)这也很有趣,我也会看看。