网络服务器启动了吗?应用程序服务器启动了吗?数据库上线了吗?测试数据是否预先加载到数据库中?每当我们准备开始测试应用程序时,一切都应该已经准备妥当。
然而,当测试开始后,我们可能会漏掉一些测试用例,只有在发布期间对生产环境进行健全性测试时才会意识到这一点。在今天的文章中,我们将讨论开发团队经常忽视的一些常见领域:
-
数据库/内存数据库
-
访问令牌
-
API 请求
-
其他杂项区域(即无连接)
话不多说,让我们看一下上面提到的每个领域的几个测试用例!
注意:本文中提到的内容均来自我们自己的经验,并不是全部用例。
数据库/内存数据库
测试案例 1:凭据无效
通常为每个应用程序完成一次数据库设置,其中将为不同的环境设置不同的凭据。设置完成后,凭据只会在 x 天后更改。当凭证发生更改时,团队可能会忘记在系统内手动更新(取决于数据库的设置方式),因为已经有一段时间了。因此,检查一下总是好的。此外,如果应用程序正在发布其第一个版本,则可能会从非生产环境复制凭据。因此,验证生产环境的凭据设置是否正确非常重要。
测试用例 2:未设置表
表的创建是手动或通过脚本完成的,有时可能会发生一些错误团队会漏掉。尽管这种情况很少见,但我们不想假设它总是成功且没有错误。
测试用例3:表中没有可用记录
这是一个被高度忽视的领域,因为每个人都认为数据肯定会在发布之前正确地预加载到数据库表中。由于这种假设,开发团队往往不进行检查/测试。此外,测试数据大多数时候都是预先加载到数据库中的,所以数据库中没有记录的可能性很小。
测试用例 4:过时的架构
架构可能会在测试期间更新,但有时可能会忘记部署到生产环境,特别是如果发布频率很短(例如每个发布 2-3 周);每个版本中的架构并不总是发生变化。如果错误处理不当,应用程序可能会崩溃,从而给用户使用应用程序带来不便。
访问令牌
测试用例 5:访问令牌无效
必须在访问任何经过身份验证的 API 之前生成访问令牌。一旦能够访问 API,常常会对测试应用程序的功能过于兴奋,并且可能会错过对无效访问令牌场景的测试。应用程序中不允许注销或并发登录而撤销的令牌也属于无效访问令牌的情况。
测试用例 6:过期的访问令牌
访问令牌确实有过期时间,实际上有两种过期类型:由于闲置而过期和超过令牌生命周期而过期。如果笔记本电脑短暂闲置,你可能已经了解了当访问令牌的有效期很短时应用程序如何处理这种情况。
API请求
测试用例7:失败期间的常见响应代码
我们如此专注于功能测试(其中 API 请求将始终返回成功代码 200),以至于可能忘记测试 API 请求的其他常见响应代码,例如:
-
错误请求 (400):无效请求
-
未经授权(401):身份验证失败
-
Forbidden (403):身份验证成功但无权访问所请求的资源
-
未找到(404):请求的资源不存在
-
内部服务器错误 (500):服务器出现意外错误
-
服务不可用(503):服务器尚未准备好处理任何请求
-
网关超时(504):没有收到及时响应来完成请求
当测试上述测试用例时,需要确保应用程序有一个自定义页面来处理所有不同类型的错误。StackTrace 应始终对用户隐藏,以获得更好的用户体验。
其他
测试用例 8:服务中断
当数据库、后端服务器或其他下游服务宕机时,会给团队带来不便。因此,应该检查以确保所有连接始终处于正常状态。查看应用程序的架构图,看看是否有其他外部组件与应用程序交互。模拟内部/外部组件发生故障,以查看应用程序是否能够很好地处理它并在组件再次启动时正常恢复。
在进行此类测试用例的测试时,需要安排一个停电期来通知团队,以便团队了解测试环境的稳定性。如果无法进行中断期测试,还可以尝试其他环境(开发、UAT、登台、RC 等)或启动一个限时环境并在测试完成后将其拆除。
如果需要本文中上述测试用例的清单,可以参考下方列表~
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。