阿里巴巴|2022年如何学习自动化测试?( 二 )


功能测试
在你的应用程序中 , 需要测试应用的特定功能 , 需要一些类型的用户输入 , 并返回某种类型的结果 , 通常一个功能测试涉及多个页面 , 一个基于表单的输入页面 , 其中包含若干输入字段 , 提交和取消操作 , 以及一个或多个相应页面 。 用户输入可以通过文本输入域、复选框、下拉列表 , 或任何其他浏览器所支持输入 。
功能测试通常是需要自动化测试的最复杂的测试类型 , 但通常也是最重要的 。 典型的测试是登录 , 注册网站账户用户账户操作、账户设置变化、复杂的数据检索操作等等 。 功能测试通常对应着你的应用程序的描述应用特性或设计的使用场景 。
测试动态元素
通常网页元素都有唯一的标识符 , 用于唯一地定位该网页的元素 。 通常情况下 , 唯一标识符用HTML标记的id属性或name属性来实现 。
Ajax的测试
Ajax是一种支持以及动态改变用户界面元素的技术 。 页面元素可以动态更改 , 但不需要浏览器重新载入页面 , 如动画 , RSS源、其他实时数据更新等 。
Ajax有无数更新网页上元素的放大 , 最简单的方式是在Ajax驱动的应用程序中 , 数据可以从应用服务器检索 , 然后显示在页面上 , 而不需要重新加载整个页面 , 只有一小部分的页面 , 或者只有元素本身重新被加载 。
三、自动化测试的12个认识误区
1、自动化的软件测试与手工的软件测试过程一样
自动化测试所需要的技巧与手工测试所需要的技巧是不一样的 。
通常 , 你的项目经理会被那些测试工具销售们迷惑 , 认为自动化的软件测试就是简单地按一个录制的按钮 , 产生测试脚本 。 而事实上并没有那么简单 。
区分自动化测试所需要的技巧与手工测试所需要的技巧是非常重要的 。 最重要的是 , 自动化测试工程师需要掌握软件开发技巧 , 没有接受任何培训的手工测试人员 , 或者没有编程背景的手工测试人员 , 在实施自动化测试时会碰到很多困难 。
2、自动化测试一定会马上大量减少测试人员数量
自动化测试不会马上大量减少测试人员数量 。 因为开展自动化测试初期需要投入一定的人力进行自动化测试脚本开发 , 并逐渐将自动化测试脚本用于日常的测试中 , 逐步减少手工测试人员从事重复劳动的时间和人数 。 为了缩短自动化测试脚本的开发时间 , 可以考虑将自动化测试脚本的开发工作借助外包的力量来早日实现大规模的自动化测试 。
3、测试自动化就是录制和回放
仅仅录制得到的不是有效的自动化脚本 。
很多项目经理仍然把测试自动化等同于使用录制回放工具 。 而事实上 , 录制得到的脚本通常是不可重用的脚本 , 脚本中充满了硬编码的值 , 这些值应该被参数化 , 否则脚本仅仅适用于一个测试情况 , 脚本还应该加入条件判断、循环等结构 , 以便增强测试脚本的灵活性 。
4、自动化测试找不到bug
自动化测试不直接找bug , 而是通过解放有经验的测试工程师的生产力 , 让其从重复的回归测试中解放出来 , 从事新的测试方法和测试手段的研究 。 通过自动化测试解放出测试人员的时间和精力来间接地找到更多、更深层次的新bug , 将产品质量再提高一个档次 。
5、自动化测试工具是“万能”的
很多人一听到自动化测试 , 就认为自动化测试工具可以完成一切测试工作 , 从测试计划到测试执行再到测试结果分析 , 都不需要任何人工干预 。 显然 , 这是一种理想状态 , 现实中还没有哪个测试工具有这个能力 , 并且将来也不会有 。 在现实中有关的测试设计、测试案例 , 以及一些关键的测试任务还是需要人工参与的 , 即自动化测试是对手工测试的辅助和补充 , 它永远也不可能完全取代手工测试 。