【发布时间】:2016-08-30 15:55:36
【问题描述】:
我们正在使用 C# 和 JavaScript 开发一个非常大的 Web 应用程序。我们代码中的大部分调用都是在前端使用 JavaScript 处理的,唯一真正的后端工作是 SQL 服务器,它检索相关数据集并将其作为 JSON 对象返回,然后再次使用 JavaScript 处理。
我们目前正在与我们的测试人员手动进行所有测试,他们根据设计规范验证页面功能,以确保软件按预期工作。
我希望能够为应用程序添加一些自动化测试。我研究了单元测试,如果您有很多带有输入和输出的 C# 方法,并且易于跟踪和验证它们是否正常工作,那么它似乎工作得更好。
我们可以使用哪些标准方法来验证整个应用程序(或至少大部分应用程序)是否正常工作?
我要检查的事情是:
我们有一个输入页面,可让您创建用户。这个输入页面应该更新,比如说,数据库中的 5 个表。我正在添加 10 个不同的页面,允许我在应用程序中创建用户,我如何验证所有这些页面都正确插入并正常工作?
我有一个页面,我可以在其中单击一个按钮,将一行插入数据库。如何检查它在应该输出的所有不同位置是否正确输出?
在我的脑海中,我想不出我需要检查的所有不同情况,但它们的数量很多。据我了解,任何视觉错误只能由手动测试的用户测试。
我正在寻找一些关于最佳方法是什么以及如何将它们应用于我们的应用程序类型的反馈。
【问题讨论】:
-
听起来大部分业务逻辑都在前端,但您提到单元测试是 c# 的事情。有很多 javascript 测试框架可能更适合您的需求
-
@aw04 是的,你可能是对的,我对自动化测试的了解非常少,所以我希望能更好地理解它。从我目前所读的内容来看,它似乎非常关注具有输入/输出方法的 C# 类型逻辑,也许我需要更多地研究 javascript 测试框架,我想看看人们在使用什么以及最好的东西是使用
-
你使用什么 javascript 框架? angularJS 为 javascript 单元测试提供了一个非常干净的模式,也是在量角器中进行完整 e2e 测试的出色工具。您也可以在没有 angularJS 的情况下使用量角器,但请记住,e2e 测试不一定要完全覆盖您应用程序中的所有代码。无论您在 javascript 中做什么,关键是遵循与其他方式相同的可测试性模式... DI、SRP 等。
-
@stephen.vakil 我们没有使用 javascript 框架。我们主要使用jQuery库编写
-
您没有在后端使用 Web API 和/或 MVC 吗?如果是这样,如果你编写得当,你的控制器将是高度可测试的。
标签: javascript c# unit-testing testing automated-tests