软件测试入门必看
发布于 2021-05-10 00:30 ,所属分类:软件测试工程师学习资料
什么是软件测试
什么是软件测试,如果你想知道什么是软件测试,让我带你来了解一下
定义
软件测试是一种实际输出与预期输出之间的审核或者比较过程 翻译一下就是看一下跟需求是不是一样的过程
一般一个项目,由以下几个角色构成,分别是,产品、前端开发、后端开发、测试、运维等。产品输出需求文档(需求文档就是,我这个功能要做成什么样子),开发输出软件(也就是产品要做的功能开发完成,落地了,例如的添加好友功能),运维呢搭建测试环境把这个功能发布一下,测试呢就是在运维发布的环境上,来测试这个功能是不是跟产品文档写的一样的。
大部分测试平时工作
测试的平时工作,参与需求评审,拿到需求文档之后按照文档编写测试用例,开发提测之后开始测试,提bug,开发修正完bug,回归一下bug,测试完成,发测试报告,上线结束
开发过程中,可以写一下接口测试,测试到最后阶段可能需要性能测试。
软件测试分类
按测试阶段分:
单元测试、集成测试、系统测试、验收测试
按测试技术划分:
白盒测试(看的见代码)、黑盒测试(看不见代码)、灰盒测试(两者之间)
按测试包含的内容划分:
功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试等
其他:
冒烟测试(是否达到提测标准,基本功能的测试)回归测试(验证bug是都修改完成)
软件测试职位
功能测试 初中高
自动化测试(接口或者ui)
白盒测试
测试架构师
测试开发工程师
不同的职位对应不同的薪资
测试用例
测试用例是怎么写的呢,有以下几种测试用例设计方法
功能测试用例
1.1. 等价类划分
1.2. 边界值分析法
1.3. 错误推测
1.4. 判定表
1.5. 因果图
1.6. 正交实验
1.7. 场景法
1.8. 功能图分析法
界面测试用例设计
2.1. 窗体(大小、布局、缩放、分辨率)
2.2. 控件(错别字,快捷键,热键,菜单,数据过多显示是否完整)
2.3. 友好(排序,刷新,提示等功能)
2.4. 统一(不同系统显示是否统一)
2.5. 指导性(提示信息出现的时机是否合理,提示信息的时长是否过长,提示信息的内容是否具有指导作用等)
2.6. 方便性(修改数据是否实时刷新,符合用户使用习惯等)
2.7. 合理性(页面某些按钮是否是必要的,按钮出现的顺序是否正确)
2.8. 规范性(对齐、小数位保留、字体统一等)等
安全测试用例设计(以登录为例子)
用户密码前端是否加密传输
数据库是否加密保存
密码是否可以复制粘贴
密码后台存储是否加密
密码传输过程是否加密
退出登录之后session是否清空
不登录访问个人中心是否可以登录
多端登录是否互斥
登录时效性
是否可以暴力破解密码
用户名和密码输入框中输入“SQL注入攻击”字符串,验证系统返回页面
用户名和密码输入框中输入“跨站脚本攻击”字符串,验证系统的行为是否被篡改等
兼容测试用例设计
1.1 不同浏览器兼容
1.2 相同浏览器不同版本兼容
1.3 相同手机 不同版本兼容
1.4 不同手机兼容
1.5 软件本身向前向后兼容
1.6 测试软件能否与其他相关的软件兼容
1.7 各种屏幕分辨率之间的兼容性
1.8 不同网络环境的兼容性等
性能测试用例设计
1.1 重要的(核心业务) 1.2 使用频率最高的 1.3 占内存最多的
辅助工具
1.1 数据库连接工具
navicat、sqlyog等
1.2 日志查看功能
xshell、crt、ftp等
1.3 接口抓包工具
charles、fiddler等
1.4 bug管理工具
禅道、jira、qc等
1.5 接口测试工具
jmeter、postman等
1.6 单元测试框架
pytest、unittest、junit等
1.7 测试框架
selenium、appium、robotframework等
1.8 性能测试监控 :nmon for Linux 、Netdata等
1.9 安全测试工具:AppScan、Nmap 、sqlmap、Burp Suite 等
2.0 一门或几门编程语言
python java js html等
2.1. 数据结构与算法
递归 排序 栈 队列 链表 二叉树等
2.2. 版本管理工具
svn git等
2.3. 自动化集成工具
jenkins
2.4. 休闲工具
网易云音乐 LOL 王者荣耀 刺激战场 消消乐 小树苗 养鸡
2.5. 使用最频繁工具
百度 饿了么
2.6. 常用编辑器
pycharm
2.7. 测试用例编写工具
xmind excel
注:以上排序不分先后
以上纯属个人总结,大家有啥不同的看法欢迎私信我。好的今天就更新到这里了,咱们下期见!
相关资源