软件项目的自动化测试

2022-09-26 10:26:28 2788
分类 : 人工智能(AI)
【摘要】​软件项目的自动化测试

自动化测试是以程序测试程序、以代码代替思维、以脚本运行代替手工测试。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。

冒烟测试:就是在一个新版本出来的时候,将软件的全部功能过一遍,看有没有什么大问题。如果功能可以正常运行,不会影响测试进行,那么这个版本就可以真正开始测试了。如果功能有重大问题或影响测试进行,那么这个版本就是不合格的,不用进行进一步的测试。比如,拿到QQ的app新版本,登陆都登陆不上,那么这个版本肯定无法继续测下去。或者,游戏中新的模块出现,但是新的模块总是崩溃、卡死,测试进行不下去,那么冒烟的结果就是不合格的。

回归测试:就是以前版本中发现的bug在新的版本中验证是否存在且是否引发新的bug。

1 自动化测试的优势

  1. 回归测试更方便、可靠。由于回归测试的业务流程操作和测试用例是预先设计好的,预期结果也是完全在项目人员掌握之中的,将回归测试交给计算机自动运行,可以极大提高测试效率,缩短回归测试时间。
  2. 可运行更多更繁琐的测试,且快速高效。
  3. 可执行一些对于手工测试来说相当困难或根本做不到的测试。比如,对大量用户的并发测试等。
  4. 具有一致性和可重复性的特点。
  5. 自动化测试脚本完全具有复用性。由于自动化测试通常以脚本的方式实现,这样在不同的版本之间,就可能只需要做少量的维护甚至不做任何修改,实现在不同的测试版本中使用相同的测试脚本执行相同的测试用例。

2 自动化测试的劣势

  1. 永远不可能完全取代手工测试。自动化测试无法做到手工测试的覆盖率,不是每个测试用例都适合转换成自动化测试用例的。
  2. 无法保证测试的正确性。测试脚本本身也可能存在缺陷。
  3. 手工测试能发现的缺陷远比自动化测试多。自动化测试几乎是无法发现新缺陷。
  4. 自动化测试工具是死的,它本身没有任何想象力。
  5. 自动化测试对测试工程师来说必须有一定的开发技术背景。

3 引入自动化测试的时机

  1. 项目周期长,系统版本不断。主要在于回归测试。
  2. 需求变更不频繁。
  3. 系统中的测试对象基本可以正常识别,不存在大批量第三方控件。
  4. 需要反复测试,如可靠性测试需要进行上千次的系统测试。

4 何时避免展开自动化测试

  1. 项目周期短,需求变更频繁。项目周期短的情况下引入自动化测试,不但收不回成本,而且会延长产品的发布时间。需求频繁改变会使老功能的业务逻辑被修改,从而导致相应的测试脚本也需相应修改。
  2. 软件版本还没稳定。
  3. 多数对象无法识别以及脚本维护频繁与艰难。

5 自动化测试用例设计

在项目的测试过程中,测试工程师都会首先分析测试需求,产出测试计划后,编写和设计测试用例,设计开发测试脚本。

  1. 自动化测试用例的范围往往是核心业务流程或者重复执行率较高的。并不需要覆盖所有的手工测试用例。
  2. 自动化测试用例的选择一般以“正向”为主。正常情况即为“正向”,异常情况即为“反向”。功能自动化测试主要还是用于回归测试,回归测试的目的就是保证新增功能后老功能是否能够正常运作。
  3. 手工测试用例可以不用回归原点,而自动化用例往往是必须的。所谓回归原点就是执行的测试用例最终需要恢复其在执行前的初始状态。比如添加用户功能,由于用户名是唯一的,第一次执行时没有问题,第二次执行时程序就会出现用户名重复而报错;这种情况下,就需要在自动化测试用例最后增加删除该用户的步骤。
  4. 自动化测试用例与手工测试用例不同,不需要每个步骤都写预期结果。


声明:文章"软件项目的自动化测试"为北京木奇移动技术有限公司原创文章,转载请注明出处,谢谢合作!
复制
复制失败
微信号已复制到剪切板,请在微信里粘贴
微信暂无法打开QQ,请前往浏览器打开