一般软件测试用例是在测试执行后写的吗?(1)

发表于:2023-8-25 09:34

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:知乎

  测试用例是在测试执行前就需要准备好的。测试用例应该根据需求和设计文档编写,以确保测试覆盖所有的功能和场景。
  测试用例常见设计方法
  等价类划分法
  等价类划分法是将输入域划分为多个等价类,其中每个等价类包含具有相同属性的输入数据。然后,从每个等价类中选择至少一个测试数据来设计测试用例。这样可以大大减少测试用例数量,同时确保测试覆盖输入域的不同情况。
  假设我们要测试一个登录页面,用户名和密码都是必填项。用户名必须是3到10个字符,密码必须是6到12个字符。我们可以将输入域划分为以下等价类:
  ·有效的用户名:3到10个字符之间的字符串
  · 无效的用户名:小于3个字符或大于10个字符的字符串
  · 有效的密码:6到12个字符之间的字符串
  · 无效的密码:小于6个字符或大于12个字符的字符串
  我们可以从每个等价类中选择至少一个测试数据来进行设计。
  边界值分析法
  边界值分析法是一种基于输入域的测试用例设计方法。它着重于输入域的边界情况,例如最小值、最大值和边界中间值等。通过测试输入域的边界情况,可以有效地发现输入域的错误和异常情况。
  如在上述例子中,我们可以进一步应用边界值分析法,设计以下测试用例:
  · 最小有效的用户名和密码:3个字符的用户名和6个字符的密码
  · 最大有效的用户名和密码:10个字符的用户名和12个字符的密码
  · 小于最小值的无效的用户名和密码:2个字符的用户名和5个字符的密码
  · 大于最大值的无效的用户名和密码:11个字符的用户名和13个字符的密码
  因果图法
  因果图由条件和动作构成。条件是影响系统行为的输入条件或触发条件,而动作是系统对这些条件的响应或产生的输出。条件和动作之间通过因果关系相互连接,形成一个图形结构。
  通过绘制因果图来分析和理解系统的功能和业务逻辑,并设计测试用例以覆盖不同的因果路径。
  假设我们要测试一个电子商务网站的购物车功能,并使用因果图法来编写测试用例。
  首先,我们需要确定购物车功能的输入和输出。购物车功能的输入可能包括商品信息、购买数量、优惠码等,输出可能包括购物车中商品的总价、优惠后的价格、运费等。
  接下来,我们可以使用因果图法来列出可能的因果关系。例如,购买数量可能会影响商品总价,优惠码可能会影响优惠后的价格,运费可能会受到购买数量和收货地址的影响等等。 然后,我们可以根据因果图来编写测试用例。例如,我们可以编写以下测试用例:
  1. 输入商品信息和购买数量,验证购物车中商品总价是否正确。
  2. 输入优惠码和商品信息,验证优惠后的价格是否正确。
  3. 输入购买数量和收货地址,验证运费是否正确。
  4. 输入无效的优惠码,验证是否提示错误信息。
  5. 输入无效的商品信息,验证是否提示错误信息。
  通过使用因果图法编写测试用例,我们可以确保覆盖到所有可能的因果关系,从而提高测试的全面性和有效性。
  决策表法
  通过绘制决策表来分析和理解系统的决策逻辑,并设计测试用例以覆盖不同的决策情况。
  假设我们正在测试一个在线购物网站的结算功能,需要考虑不同的支付方式和优惠活动。以下是使用决策表法编写的测试用例的示例:
  决策表结构:
  条件列:
  1. 支付方式:支付宝、微信支付、信用卡支付
  2. 优惠活动:无活动、满减优惠、折扣优惠
  动作列:
  1. 结算结果:成功、失败
  2. 结算金额:具体金额
  规则示例:
  生成的测试用例:
  测试用例 1:
  ·支付方式:支付宝
  · 优惠活动:无活动
  · 预期结算结果:成功
  · 预期结算金额:$100
  测试用例 2:
  · 支付方式:微信支付
  · 优惠活动:满减优惠
  · 预期结算结果:成功
  · 预期结算金额:$80
  测试用例 3:
  · 支付方式:信用卡支付
  · 优惠活动:折扣优惠
  · 预期结算结果:成功
  · 预期结算金额:$90
  测试用例 4:
  · 支付方式:信用卡支付
  · 优惠活动:无活动
  · 预期结算结果:失败
  · 预期结算金额:N/A
  通过以上测试用例,我们可以覆盖不同支付方式和优惠活动下的结算功能,验证系统在不同条件下的行为和输出是否符合预期。
  情景模拟法
  通过模拟用户的实际使用情景来设计测试用例,以确保测试覆盖所有的功能和业务场景。情景模拟法可以有效地发现系统的用户体验和交互问题。
  利用流量录制生成海量测试用例
  AREX 是一款由携程开源的自动化回归测试平台,利用 Java Agent 技术,可以通过流量录制能力录制线上真实用户请求,取代人工编写测试用例,解决人工编写测试用例的难题。
  具体来说,录制到的线上流量可以包括用户在页面上的点击、输入和滚动等操作,以及与服务器之间的请求和响应,这些数据可以用来直接形成测试用例,验证网站或应用程序的功能是否按照预期工作。
  使用这种方式不仅简单高效,节省大量人力成本,且易于形成丰富的测试用例,提高覆盖率。其次,录制到的线上流量能完美模拟用户真实行为,从而提高测试的准确性和可靠性。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号