1、什么是自动化测试
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。
自动化采用的是以程序测试程序,以代码代替思维,以脚本的运行代替手工测试。
自动化的测试涵盖了:功能(黑盒)自动化测试,功能(白盒)自动化测试,性能测试,压力测试,GUI测试,安全性测试等。
2、自动化测试常见的误区
-认为录制回放就是自动化测试(自动化测试的不同层次)
- 只验证界面上的信息
-让测试相关的材料自由组织,应妥善管理测试相关的文档和输出
-过早或过多的自动化
3、自动化测试的优势和劣势
1)优势
-回归测试更方便、可靠
-可应用于单调的、重复性更高的测试
-可执行一些对于手工测试来说相当困难或根本不能做到的测试
-更好地利用资源,节约时间(7*24),解放人力
-具有一致性和可重复性
-不同版本的软件之间完全复用
-使软件更有信任度
-多环境下测试
2)劣势
-永远不可能代替手工测试
-无法完全保证测试的正确性
-自动化测试几乎不能发现新缺陷
-对测试质量的依赖性极大
-测试自动化可能会制约软件开发
-自动化测试工具缺乏灵活性和创造性
-成本投入过高,风险大
-对测试人员的技术要求高,对测试工具的要求也高
4、自动化测试的原则
1)适合
-项目周期长,系统版本不断
-需求变更不频繁
-系统中的测试对象基本可以正常识别
-系统中不存在大批量的第三方控件
-需要反复测试,如可靠性测试需要进行上千次的系统测试
2)不适合
-项目周期短,需求频繁变更
-在软件还没有稳定的时候引入自动化
-没有明确的项目测试自动化计划、措施和管理
-多数对象无法识别
-脚本维护频繁和艰难
5、自动化测试实现流程
6、自动化测试构建过程
1)底层接口
- 日志规范一致
- 文档规范一致
2)自动化框架
- 数字驱动:数据驱动最适合测试业务逻辑固定不变的应用程序,只有测试数据会变化。通常测试数据会被配置在外部文件或数据库中。
-关键字驱动:关键字驱动顾名思义,它提供了一系列通用的关键字,用户通过调用这些关键字并输入一些参数可以实现单个操作,比如,打开浏览器、打开某个网页、点击某个链接等等,然后通过组织这些关键字形成一个完整的测试流程。
-混合型:混合型框架就是把数据驱动和关键字驱动整合起来,同时具备了两者的优点。与关键字框架不同的是,这种框架通常会提供一些针对于特定应用程序的关键字,比如登录、登出等。然后在完整测试流程的基础上,再应用一层数据驱动,这样就能使测试逻辑和测试数据更加灵活和可配置。
3)设计要点
-利用现有框架
-复用性
-可配置性
-状态监控
-测试报告
-测试日志
-易调试
- 易用性
- 灵活性
4)报告、日志系统
5)环境部署
6)持续集成
下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢软件测试的小伙伴们,可以加入我们的测试技术交流扣扣群:310357728里面有各种软件测试资源和技术讨论)