Web自动化测试理论知识

1、自动化测试概述

概念:用工具代替/辅助人工完成完成软件测试活动的过程
特点:
    可以对程序的新版本自动执行回归测试
    可以执行一些手工测试困难或不可能进行的测试
    可以更好地利用资源
    测试具有一致性和可重复性
误区:
    期望自动化测试发现大量新故障
    安全性错觉
    自动化测试的维护开销

2、自动化测试的优势

重复多次执行测试时节省很多时间
提高测试覆盖率和测试精度
实现自动化回归测试减少工作量
减少手工测试人为产生的错误
提供规范化的过程和一致性
更好的文档记录

3、自动化测试的局限性

手工测试比自动化测试发现的故障更多,自动化测试只能发现约15%的bug
自动化测试不能提高测试的有效性,只能用于提高测试的效率
自动化测试不具有想象力,没人聪明
自动化测试不能代替手工测试,下列情况不适合于自动化测试:
    测试频度很低
    软件不稳定
    结果很容易通过人验证的测试(人式实施较为高效)
    涉及物理硬件设备交互的测试

4、自动化测试的内容

测试数据自动生成
自动化输入
测试结果自动比较
测试自动执行
自动化测试用例的管理
在线监控

5、自动化脚本技术

线性脚本:  录制、回放
结构化脚本:  含有控制脚本执行的指令,支持顺序、选择和循环
共享脚本:  可以被多个测试用例使用,脚本之间可以互相调用
数据驱动脚本:  数据驱动脚本是将测试输入存储在独立的文件中,脚本中只存放控制信息
关键字驱动脚本:  关键字驱动脚本实际上是较重复的数据驱动技术的逻辑扩展 ,即测试用例的执行步骤(操作,操作对象,操作值)存放在文件中,直接执行

6、Web自动化测试的基本原理:

找到要操作的元素-->操作元素-->获取操作后的结果-->实际结果和期望结果对比-->测试结果-->记录测试结果-->发送测试报告给相关人-->修改Bug

7、需要的基本知识:Html、Css、Js、熟悉(Java、Python、.net、ruby)其中的一种、MysqL的基本sql知识、unittest的基本使用方法

8、需要用到的工具包和工具:

浏览器:IE、Firefox、Chrome、safari
Selenium browser drivers: geckodriver Chrome Driver InternetExplorer Driver
Selenium tools: Selenuim Webdriver client driver Selenium Standalone Server
集成开发环境:Pycharm
BDD框架工具:lettuce
其他工具:AutoIt、Win32api

9、自动化测试的类型:

单元测试-执行速度最快
接口测试-执行速度较快
UI测试-执行速度最慢

10、自动化测试需要的条件:

软件需求变动不频繁
项目周期足够长
自动化脚本可重复使用
有编程和设计能力的测试开发人员
研发团队的支持

11、使用自动化的一此典型场景:

验证原有功能是否依旧可以使用,适合进行大量回归测试的场景
使用自动化没测试技术注入测试数据
敏捷开发的TDD模式,行为驱动开发模式
机械并频繁的测试,每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长
做业务运行状态监控

12、自动化实践的一些建议

从上到下的支持和协作
先找小项目进行试点
测试人员需要有较强的编程能力和设计能力
开发需要不断提高软件的可测试性
多鼓励单元测试、接口测试
UI测试使用并行测试方式提高执行速度

13、关于UI自动化的一些建议

需要根据自己的测试业务类型,量身定做适合自己的测试框架
让不懂开的测试人员也能使用测试框架来进行自动化测试
使用分层的结构来设计框架
使用截屏技术提高一些测试效率
不断积累自动化测试技术,对开发提可测试性的要求

14、自动化测试实施失败的因素

期望值过高,就像管理人员要求完全测试一样,期望100%的自动化测试,也同样是一个不现实的需求
对收益和成本认识不清。抛开工具的购买成本和培训成本,自动化测试的成本应该还包括两部分(实现成本中还隐含了测试准备成本):成本=实现成本+运行维护成本
自动化测试的收益是由测试的重复运行次数,或自动化测试脚本的利用率决定的

15、什么时候开始实施自动化

可预见的需求不影响自动化测试用例的设计

16、如何实施自动化测试

获取信息和测试需求分析:总体把握系统架构和设计,分析出系统的测试需求
设计:设计测试用例,并且挑选出需要自动化实现的测试用例
实现:编写、调试和实现测试脚本
执行:执行脚本的过程,需要不断分析执行过程中的异常
测试结果分析:分析哪些是Bug,哪些是测试框架本身的问题
维护:自动化测试脚本的维护是一个难以解决又必须要解决的问题
总结:在自动化测试过程中总结自动化实践的投入产出比

17、什么是测试框架(framework)

整个或部分系统的可重用设计,表现为一组抽象构件以及构件实例间交互的方法;可被开发者定制的应用骨架

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/450031.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装配置sqoop

一、了解Sqoop 1、Sqoop产生的原因 A. 多数使用hadoop技术的处理大数据业务的企业,有大量的数据存储在关系型数据中。 B. 由于没有工具支持,对hadoop和关系型数据库之间数据传输是一个很困难的事。 以上是sqoop产生的主要原因,也因此Sqoop主要用于hadoop与关系型数据库之…

树莓派与Win11通信【一对一】(四)

树莓派与Win11通信【一对一】(四) 树莓派与Win11通信【一对一】(四)的代码优化版, 最近给代码添加了打开摄像头与否的验证,以及文件的保存,定时拍摄 1.Server端 import socket import time …

【数据结构 09】哈希

哈希算法:哈希也叫散列、映射,将任意长度的输入通过散列运算转化为固定长度的输出,该输出就是哈希值(散列值)。 哈希映射是一种压缩映射,通常情况下,散列值的空间远小于输入值的空间。 哈希运…

Axure 动态面板初使用 - 实现简单的Banner图轮播效果

实现简单的Banner图轮播效果 使用工具版本实现的效果步骤过程 使用工具版本 Axure 9 实现的效果 步骤过程 1、打开Axure工具,从元件库拖个动态面板到空白页; 2、给面板设置一个常用的banner尺寸,举个栗子:343151(移动端我常用…

Scratch:引领孩子们步入编程世界的魔法石

Scratch,一款由麻省理工学院(MIT)开发的面向儿童的编程软件,以其独特的交互性和直观性,正逐渐成为孩子们学习编程的首选工具。它不仅降低了编程的门槛,还激发了孩子们对编程的浓厚兴趣,为未来的…

查看阿里云maven仓中某个库有哪些版本

起因 最近项目上有做视频业务,方案是使用阿里云的短视频服务,其中也有使用到阿里云的上传SDK,过程中有遇一个上传SDK的内部崩溃,崩溃栈如下: Back traces starts. java.lang.NullPointerException: Attempt to invok…

【Leetcode】目前300题,大部分二刷,总感觉自己是在背答案一样,怎么破?

1,一开始学习的时候,就是刚学完数据结构算法,刚开始做题,说实话,一个easy题目都需要半个小时,甚至好几个小时,非常正常,因为这个阶段你是在学习,不是在做题,要…

Nonterrestrial Networks (NTN) for 5G and Beyond

Overview In this paper, we’ll take a look at the current state of NTNs, some of the new applications being explored, and crucially, the technical challenges that we’ll need to overcome to make it a viable market. Finally, we’ll get an overview of the w…

2024 年 10 款最佳免费无限的数据恢复软件工具

十大无限的数据恢复软件工具 数据丢失可能是一场噩梦,无论是由于意外删除、系统崩溃还是硬件故障。值得庆幸的是,有多种数据恢复软件工具可以帮助您检索珍贵的文件和文档。在本文中,我们将探讨可以拯救世界的十大最佳免费无限数据恢复软件工…

electron项目在内网环境的linux环境下进行打包

Linux需要的文件: electron-v13.0.0-linux-x64.zip appimage-12.0.1.7z snap-template-electron-4.0-1-amd64.tar.7z 下载慢或者下载失败的情况可以手动下载以上electron文件复制到指定文件夹下: 1.electron-v13.0.0-linux-x64.zip 复制到~/.cache/electron/目录下…

C/C++ - 容器vector

目录 容器特性 构造函数 默认构造函数 填充构造函数 范围构造函数 拷贝构造函数 内存布局 大小函数 size() 函数 capacity() 函数 empty() 函数 resize() 函数 增加函数 push_back(const T& value) emplace_back(Args&&... args) push_back和empla…

HDMI2.1之eARC简介-Dolby Atmos和DTS:X

文章目录 eARC目的更大的带宽更高质量音频支持对象型音频与CEC(Consumer Electronics Control)的兼容性: 适应流媒体发展Dolby AtmosDTS:X高分辨率音频更高的音频位深度和采样率低延迟音频 对象型音频格式独立对象三维定位动态音场适应性和灵…