首先;谈到测试开发和测试角色,业务测试同学主要是用手工测试持续的维护开发的业务产品,测试发现bug,并且传达给开发人员修复,简称手测 and 口测。 但是对于测试开发人员来说,主要是要求会的多一些,知识面要广泛,需要掌握的知识比较多且凌乱; QA中的测试开发****,这个岗位的核心职能还是测试,是通过开发的手段提升测试的效率。也就是用程序自动化的方式实现测试,来保障软件产品的质量,包括功能测试和性能测试。其次,以下梳理需要掌握的测开基础知识;
一、基本技能
- 测试理论
- 需求分析(需求文档、API文档、UI、程序和数据)
- 编写用例(核心要素:名称、级别、步骤、期望结果、实际结果)
- 评审用例
- 用例执行
- 测试报告(markdown、html、excel、word、ppt)
- 开发模型(敏捷开发Scrum、瀑布模型、Agile、XP, 螺旋模型)
- 敏捷测试 冒烟测试 回归测试
二、专业技能
- SQL 语句 (连接工具:Navicat Premium、SQLyog)
- linux 常用命令(连接工具:xshell、crt,传输工具:winSCP、FileZilla)
- http、https 区别 tcp协议.
- BS、CS 区别
- post、get 区别
- web、App 测试区别
- 熟悉 Android(adb 命令等)、iOS、windows(pc)Batch、linux(pc)、WP*(mobile)
三、工具使用/搭建
- 抓包工具(fiddler、charles、wireshark 等)
- 数据库管理工具(Navicat、SQLyog)
- redis 管理工具(Redis Desktop Manager)
- 接口测试工具(Postman,HttpRuner)
- 性能工具(PC:LoadRunner、jmeter、Locust,Android-APP:monkey、GT、Emmagee*)
- 自动化测试工具(Appium、selenium-webdirver、macaca、airtest、Robot Framework、QTP、monkeyrunner*)
- 缺陷管理工具(禅道、bugfree、redmine、jira、望岳)
- 第三方测试平台(testin、腾讯优测、阿里MQC、 百度MTC)
- 设备批量管理平台:STF
- 项目同步工具:git、 svn
- 安全性测试:sql 注入(or 1=1)、 xss、url 加密、密码密文存储、https
- 持续集成:jenkins, 滴滴OE
- 容器引擎和操作系统:docker, Linux
四、语言技能
- 编程语言 - 了解(java、python,golang ,php 等)
- 脚本语言 - 掌握(Python、shell、Ruby 等)
- 标记语言 - 了解(html、css、JavaScript 等.)
- 其他的代码管理能力 - git, gitlab等.
总之;当然以上的知识比较多,全面,但是真正对于工作中的测试开发来说; 对于测试开发角色,语言主要是用Python,其它任何语言都是可以的,只是Python相对更适合,测试开发很少用到数据库,即使要用到数据库,Redis、MySQL和Linux命令这三种也完全能够满足。
Python学习网站如下;
https://www.runoob.com/python/python-tutorial.html
QA测开技能(Python基础)
基于上一篇《QA测试开发技能总结》的介绍,对于0基础或者没有基础的同学,需要把python学好,正如李淳罡愿世间心诚剑士人人会两袖青蛇,愿天下惊艳后辈人人可剑开天门。 我- 望世间QA测试人人会python技术,望天下IT人员人人可自动测试 - 以下是一些python常用学习地址;
http://c.biancheng.net/python/
https://www.runoob.com/python/python-basic-syntax.html
关于python,有以下特性;
- 易于学习:Python 有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- 易于阅读:Python 代码定义的更清晰。
- 易于维护:Python 的成功在于它的源代码是相当容易维护的。
- 一个广泛的标准库:Python 的最大的优势之一是丰富的库,跨平台的,在 UNIX,Windows 和 macOS 兼容很好。
- 互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- 可移植:基于其开放源代码的特性,Python 已经被移植(也就是使其工作)到许多平台。
- 可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用 C 或 C++ 完成那部分程序,然后从你的 Python 程序中调用。
- 数据库:Python 提供所有主要的商业数据库的接口。
- GUI 编程:Python 支持 GUI 可以创建和移植到许多系统调用。
- 可嵌入:你可以将 Python 嵌入到 C/C++ 程序,让你的程序的用户获得”脚本化”的能力。
- 面向对象:Python 是强面向对象的语言,程序中任何内容统称为对象,包括数字、字符串、函数等。
python常用的关键字如下;
'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
Python 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的字符日常的语法总结:
- Python 中单引号和双引号使用完全相同。
- 使用三对引号('''或""")可以囊括一个多行字符串。
- 转义符 ''
- 自然字符串, 通过在字符串前加 r 或 R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
- Python 允许处理 unicode 字符串,加前缀 u 或 U, 如 u"this is an unicode string"。
- 字符串是不可变的。
- 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。
- 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
- Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以1 开始。
- Python中的字符串不能改变。
- Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
- 字符串的截取的语法格式如下:变量 [头下标: 尾下标: 步长]
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
-
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
关于python基础语法也总结了个脑图,方便大家掌握;
以下是一些python base的cheat sheet总结;把基础知识进行浓缩了,方便大家学习和熟悉;
对于selenium或者appium自动元素定位一般要熟悉xpath语言,对于xpath也做了cheat sheet总结;
希望本文章对于自动化python基础有所帮助。