| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 自学Python+Selenium自动化测试 -> 正文阅读 |
|
[开发测试]自学Python+Selenium自动化测试 |
? ? ? ? 俗话说的好,书读百遍不如手过一遍,而编程这东西是看书看视频一万遍都不如你自己多敲代码、写脑图、总结分享转换成自己的内容来的实在。 ? ? ? ? 今天我就把最近学的(三)自动化测试-测试用例设计简单总结一下,方便自己以后找出来看看。 目? ? 录????????一、测试用例设计注意事项????????1、不是所有的手工测试用例都要转换为自动化测试用例。 ? ? ? ? 2、考虑到脚本开发的成本,不要选择流程太复杂的用例。若有必要,可以把流程拆分成多个用例来实现脚本。 ????????3、选择的用例最好可以构建场景。如功能模块分多个用例使用同一个场景。 ????????4、选择的用例可以是你认为是重复执行,很繁琐的部分。如字段验证、提示信息验证,适用于回归测试。 ????????5、选取的用例可以是主体流程,适用于冒烟测试。 ????????二、测试用例设计设计原则? ? ? ? 1、一个用例为一个完整场景。(从用户登录系统到最终退出并关闭浏览器) ????????2、一个用例只验证一个功能点。(不要试图在用户登录后把所有功能都验证一遍) ????????3、尽可能少的编写逆向测试用例。(逆向逻辑用例很多) ????????4、脚本脆弱,判断逻辑与断言方式简单一些。(复杂的逆向逻辑用例实现麻烦且容易出错) ????????5、用例与用例之间尽量避免产生依赖。 ????????(1)复杂度度量(测试)-高内聚低耦合(开发、白盒-代码圈复杂度过高出错概率过高、有效注释率≥20%) ????????(2)模块(用例)中功能全面、多个模块(用例)尽量不产生联系) ? ? ? ? 6、用例完成测试需对测试场景还原,避免影响其它用例执行。 ????????三、测试用例设计设计实践? ? ? ? 1、测试点转换为测试用例原则:有效一对多,无效多对一 ? ? ? ? (1)一条正向用例,覆盖足够多的有效等价类数据。 ????????(2)一条反向用例,覆盖一条无效等价类数据,其他数据为有效等价类数据。 ????????2、有验证码时如何进行自动化 ? ? ? ? (1)让开发暂时屏蔽验证码 ? ? ? ? (2)让开发将验证码改为万能码(如“000000”) ? ? ? ? (3)机器学习训练样本,可达到99%以上识别成功率 ? ? ? ? (4)调用OCR接口(文字识别)解析图片中的验证码 ????????3、python中的OCR图文识别 ? ? ? ? (1)pytesseract:需要配合本地安装tesseract-ocr.exe ? ? ? ? (2)PaddleOCR:百度开源、依赖库(paddlepaddle、shapely、paddleocr)、对中文的识别精度高 ? ? ? ? (3)easyocr:支持80多种语言的识别,识别精度超高 ? ? ? ? (4)muggle_ocr:轻量级的ocr识别库,识别各类验证码 ????????(5)dddd_ocr:识别验证码 ????????四、测试用例设计脚本开发? ? ? ? 1、自动化测试模型 ? ? ? ? (1)线性测试 ????????以一行行代码直接实现测试步骤,脚本相对独立,单纯的模拟用户完整的操作场景,测试用例的开发和维护成本很高。若一个页面元素被改动,所有线性脚本中用到此元素的地方都需要更改。 ????????(2)模块化驱动测试 ????????把重复的操作独立成公共模块(类、方法),当用例执行过程中需要用到这一模块时则被调用,最大限度的消除了重复,提高了测试用例的复用性、可维护性。(登录模块、退出模块、邮件发送模块、数据库处理模块、日志生成模块等) ? ? ? ? (3)数据驱动测试 ????????数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变,其实就是数据的参数化。 ????????数据存储:字典(数据量少、使用频率高)、csv/excel文件(数据量大、使用频率中、常用测试数据)、数据库(数据量极大、使用频率低、如基础数据)、配置文件(数据库连接(主机地址、用户名、密码、端口)、更改数据库环境) 数据参数化(变量替换常量) ? ? ? ? (4)关键字驱动测试 ????????通过“关键字”的改变引起测试结果的改变,市面上的关键字驱动工具有UFT(QTP关键字视图及专家视图、功能自动化测试工具)、Selenium IDE、Katalon Recorder等,提供给用户独立的图形化用户界面,降低脚本的编写难度。(coomand操作命令、target操作目标、value值) ????????2、自动化测试脚本增强 ? ? ? ? (1)同步点(时间等待) ????????time.sleep() ????????driver.implicitly_wait(time_to_wait) ????????wait.WebDriverWait(driver, timeout,?poll_frequency=0.5,?ignored_exceptions=None).until(method,?info) ? ? ? ? (2)检查点(断言或验证) ????????判断语句(if、if-else、if-elif-else) ????????框架中的断言与验证方法(assertEqual()、assertTrue()、assertIs()、assertIsNone()、assertIn()、assertIsInstance()) ????????try-except-finally处理断言异常,使程序正常运行 ? ? ? ? (3)自动化测试脚本意义 ????????绝大部分采用测试脚本与测试数据分离据设计 ????????好处:降低维护成本、迁移成本以及提高效率 ????????测试数据放哪里、如何管理、需要按需选择(业务场景、数据类型、数据频次、数据量级)
? ? ? ? 愿你我都能为中华民族的伟大复兴尽一份绵薄力量,让中华文化的根扎根在中国这片绿水青山之上,让新一代中华儿女传承与发扬!!! ---无名之辈 以上内容均是本人自学,当然是有网上公布的内容,如有冒犯,请留言,立即改正,谢谢! ????????看完要是觉得对自己有用,动一下您那根金色的会一指禅的右手食指,按一下您的鼠标左键,在对应的那个位置点个赞,亦或者在评论区留下您的绝顶好句,亦或者收藏在您的收藏夹里,再走也不迟嘛!您说要不要得!谢谢您的阅读和赞赏! |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:33:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |