admin管理员组文章数量:1646328
软件测试基础
软件测试的概念
通过一系列手段去证明软件是符合用户需求的,满足质量要求的。预期结果和实际结果的一个对比。
软件测试分类
按方法分:黑盒测试、白盒测试、灰盒测试
黑盒测试:把软件比作一个“黑匣子”,不考虑具体是内部是如何实现的,只考虑外部功能的运行,检查软件的输入和输出是否匹配。
白盒测试:检查软件的代码、函数和方法等内部结构。
灰盒测试:介于白盒和灰盒测试之间,既可以根据外部暴露出的功能进行检测,也可以参考内部的代码结构。
2.按方向分:功能测试、性能测试、安全测试
(1)功能测试:测试产品的功能,以确定是否满足设计需求。
(2)性能测试:分为客户端测试和服务器端测试(一般默认是服务器端测试)。
客户端性能测试:启动速度、消耗资源(CPU、内存、硬盘、流量、电量)
服务端性能测试(默认):压力测试、负载测试、并发测试
压力测试:获取系统正确运行的上限,检查软件在瞬间峰值的情况下是否能够正确运行。(通过多线程模拟)
负载测试:在峰值的持续压力下运行软件,看软件的承载极限达到什么程度。
并发测试:检查在并发条件下,会不会出现数据错乱的情况。(比如淘宝秒杀)
(3)安全测试:流量攻击、渗透、SQL注入、跨域攻击、爆破、劫持。
流量攻击:模拟大量用户访问服务器,不进行任何有效操作,无端消耗服务器资源。
渗透测试:发现软件系统中存在的漏洞,判断系统的安全性。
SQL注入:通过数据库的关键字进行异常操作,恶意执行不相干的SQL命令。
跨域攻击:诱导用户访问非法网站,利用会话信息模拟请求,盗取和篡改数据。(比如qq盗号)
暴力破解:写相应的脚本,用穷举法不断尝试破解对方的信息。
劫持:比如通过不安全的wifi连接,进行表单提交的操作,造成数据泄露。(还有网页广告弹窗等)
3.按阶段分:单元测试、集成测试、系统测试、验收测试
单元测试:最小模块的测试,可以是对代码、函数、方法进行白盒测试,一般由开发人员执行。
集成测试:主要是测试接口,所以也叫接口测试。(接口:模块与模块之间数据交换的通道。)
系统测试:对系统的功能、性能、安全、UI、稳定性、易用性、兼容性等进行测试。
验收测试:软件发布之前进行的测试,这是测试的最后一个阶段,也叫交付测试,评估产品是否可以发布。
4.按对象分:web测试、app测试、小程序测试、车联网测试、物联网测试
测试方法与测试对象无关,测试流程基本都是通用的。
5.按状态分:动态测试、静态测试
动态测试:运行软件,判断软件运行结果与预期结果的差异,检查软件的正确性。(黑盒测试)
静态测试:不运行软件,检查软件代码、方法、函数、文档的正确性。(白盒测试)
6.其他:回归测试,冒烟测试、α测试、β测试
回归测试:检查开发有没有把bug修改好,重新测试一遍,以保持正确性。
冒烟测试:测试前的测试,检查开发是否进行自测,软件是否具有可测试性。
α测试:产品内测。
β测试:产品公测。
软件基本结构
软件 = 程序+数据+文档
基本结构:
B/S(浏览器/服务器),C/S(客户端/服务器)
主要区别:是否需要单独安装/更新客户端
前端
用户端(前台)
app:andriod(android、kotlin),ios(swift,object-c)
web:html,css,JavaScript
小程序
管理员端(后台)
主要是web
后端
#服务器上运行,断网无法使用,一般是linux环境
数据库
运行环境:java,php,python,,go
服务器软件:tomcat,apache,nginx,IIS
(c++一般用于桌面程序)
软件测试的方法
找到合适的测试数据
边界值
(左边界、右边界):<=6,先测<6,再测=6,所以要取边界值和边界值旁边的点,5和6。
等价类
有效等价类:比如0.01-200,0.01,200,0.02,199.99,100.05(保险起见还选了个中间值)
无效等价类:0,200.01
用户场景法
成功的场景:符合要求的金额和红包寄语(默认、0,25,1,25,12),发送红包成功
失败的场景:金额错误、寄语不符合要求(输入的值空,26)(空不等于空格)
了解概念
因果图
判定图
路径覆盖法
软件测试的模型
指的是研发模型(不仅仅是测试模型)
瀑布流
需求分析→软件设计→软件实现(编码)→软件测试→交付验收→实施维护
有完整上下结构,必须完成上一个步骤,才能开始下一个步骤。犯错成本高,容错率低,效 率低,维护成本高。
V字型
image.png
测试和开发的工作一一对应。必须完成上一个步骤,才能开始下一个步骤,效率低。
W字型(用得最多)
image.png
每个阶段测试和开发都有事做。第一个V代表开发,第二个V代表测试。
分别有什么优势和劣质?
H型
螺旋形
敏捷性(流行趋势)
集中办公,需要高管理水平的人才
搭建测试环境
一般搭建在服务器上。
服务器操作系统的选择:
windows(收费,商业系统,不可选的图形化界面)
OSX(苹果,贵)
Linux(开源,免费,可不选图形化界面,节约成本):通过安装Linux系统或租云服务器获取
测试流程
需求分析阶段
(需求文档,场景原型,交互图,口述)
学习软件的功能、业务、流程
提取软件的功能点(画思维导图)
编写需求分析说明书
测试设计阶段
编写测试文档
测试计划:时间,人员,成本,申请资源、经费
测试策略:规定测试内容的深度和广度,测试内容的先后顺序
深度:是否做单元、集成、系统、验收测试
广度:系统测试的范围(功能、性能、安全、兼容性、易用性、稳定性)
测试方案:具体的测试内容,测试手段
测试用例:具体的测试步骤(excel表格)
测试用例的要素
编号(唯一),用例名称,前置条件,优先级,重要级,测试数据,测试步骤,预期结果,实际结果。
测试是无穷无尽的
测试评审:同行评审,小组评审,部门评审,项目评审,第三方评审,邮件评审
测试执行阶段
执行测试用例、提交bug(bug管理系统)、回归测试、跟踪管理bug,测试环境的搭建
和配置,申请资源
测试总结阶段
1.工作总结
2.bug统计分析
如禅道的报表功能,测试人员的提交bug数,开发人员的造成/修复bug数,不同软件模块的bug数,不同等级的bug数,解决bug的时间,每个版本的bug情况,bug的状态
3.软件质量评估
达到软件交付的标准:一二级bug全部关闭,三级bug关闭了80%以上,四级随缘
测试文档的编写
墨刀(画产品原型) 凹脑图
需求分析阶段:
需求分析说明书
image.png
除了功能点,还要列出限制条件,比如字符串长度,数字范围等。比如发红包功能,还要列出成功、失败场景。
测试计划:时间、人员、资源的分配,流程的管理。
测试方案:对每一项测试内容应该用到的测试方法、测试工具、测试开始/结束的标准进行描述。
测试策略:规定测试的范围,哪些阶段需要测试,测试的粒度(要测试多详细),测试顺序(哪些功能先测试),风险分析(最大程度的减少不相干因素的干扰)
以上三个文档经常合并,写进测试计划中。(多看模版)
测试用例:
5w1h
image.png
pdca(核心:不断优化)
image.png
测试文档:通过测试方法提取功能点,根据场景发提取测试点,根据季等价类、边界值设计测试数据,编写文档。
(mooc网浪晋:如何学好测试用例) 萌芽群里有测试用例模版。
系统测试用例
image.png
接口测试用例
image.png
测试应用
app测试(B/S),web测试(C/S)
app测试除了常见的测试之外,还有app专项测试:安装/卸载/修复/更新,消息推送,弱网(2G/3G/4G/5G/WIFI)测试,场景交互(来电话了,正在听音乐,摄像头,录音,前后台切换),权限测试(权限关闭和打开是否会影响功能的使用,需要时是否还能还会弹出权限提醒),离线测试。
SVN的使用
svn类似网盘,存放公司文件,输入账号密码可共享。
安装svn–右键文件夹–svn检出–填入版本库url–确定–输入账号密码
创建新文档 – 右键–svn-- 加入–右键–提交–确定
*每个步骤之前最后先右键更新,以免出现不必要的错误。
bug的管理
在测试用例文档中填写测试结果,提交bug
bug六要素
编号、bug标题、优先级、严重级别、重现步骤、附件(bug截图、错误日志或者视频,提供佐证),
bug管理工具
禅道、BUGFree、ALM(QC)、JIRA、Bugzilla、TAPD、excle、testlink
bug的管理流程都是一样的,选择其中一个就可以了
优先级
和时间有关,使用的功能是否紧急。
一二三级bug都解决了,系统测试结束,可以进入系统交付阶段。
严重级别
致命的(影响核心流程、程序崩溃、程序闪退,和钱有关的)
严重的(主要功能障碍,比如个人资料无法修改)
普通的(可有可无的功能故障、不符合用户习惯的方式)
轻微的(建议)
bug的管理流程
主流程:
1.测试人员提交bug,指派给对应的开发
2.开发确认是否是bug,如果是则修改,不是转回测试人员
3.开发修改完成后,测试进行回归测试。回归测试通过,关闭bug;没通过,回到第一步。
bug状态(生命周期)
新建new,已确认(激活)open,已解决,关闭closed,重新打开(激活)reopen,延迟(是bug,但不着急修改),拒绝(开发认为不是bug),重复bug。
版本迭代
版本号、版本迭代(大版本.小版本.迭代版本 初始1.0.1)
增量测试(只测试有变化的功能),全量测试(测试软件的所有功能)
软件做大之后,不可能每次都进行全量测试,比较老的功能,可以开发自动化测试,这样的话只做增量测试就可以了。
cmmi
了解一下五个等级(近两年不是很流行了,传统的还有保留)
一般会从第三级开始认证,前两级没什么用
image.png
搭建linux测试环境
linux系统:centOS(企业用最多的),Ubuntu,debian,kali,redhot,优麒麟,深度
搭建云服务器
腾讯云购买云服务器 – 进入控制台(记住主ip地址) – 操作里面的“更多”,修改密码(勾选同意强制关机) – 刷新界面,状态显示“运行中”,即重启成功
登录(记住端口号)-- 出现linux终端即成功,关闭
连接Xshell
(linux的远程操控软件)
商业版有30天评估期,如果是自己用,下载家庭和学校版就可以了,是免费的:
家庭版官方下载地址
文件 – 新建 --名称随意,主机为主IP地址(公),端口号同云服务器 – 连接 --接受并保存 --输入账号密码(同云服务器) – 连接成功
linux常见命令
程序的操作
1.启动程序:直接输入程序名(如 vi)
2.关闭程序 (杀死进程):kill -9 进程号(pid)
如果没写-9,默认是-15,即正常终止当前进程。
-9表示进程将被内核杀死;这个信号不容忽视。 9表示不可捕获或可忽略的KILL信号。
查看进程号:ps -ef 查看所有运行中的进程
ps -ef |grep 程序名 ,查看指定程序的进程号
3.安装:不同软件安装方法不同,wget -i -c 以rmp结尾的安装包地址
文件的操作
1.新建文件:touch 文件名
2.新建文件夹 :mkdir 文件夹名
3.复制粘贴:cp 1.txt 文件夹路径
. 当前文件夹
,上级文件夹
~回到桌面(用户文件夹)
/根目录
4.剪切/移动文件:mv 文件夹名 目标文件夹路径
5.重命名:mv 文件 重命名文件名
6.打开文件夹: cd 文件夹名
cd 文件夹/文件名 从根目录开始找
cd ./文件夹/文件名 从当前目录开始找
7.列出当前文件夹中的文件:
ls(查看文件名列表)
ll(查看文件详情列表)
8.删除:
rm 文件名(删除文件,会跳出确认提示)
rm -r 文件夹(删除文件夹,会跳出确认提示)
rm -f (强制删除文件,不跳出提示)
rm -rf(强制删除文件夹,不跳出提示)
rm -rf /* (格式化根目录)
linux上文件的读写
linux文件编辑器:vi、vim
读文件
1.cat 文件名
直接输出文件内容,一次性读
2.more 文件名
分页读,有显示进度条,“ctrl+C”退出
3.tail
读取动态文件内容。(比如实时变化更新的日志文件)
tail -f 文件名(一直动态读取最新内容)
tail -q 文件名 (读取时不显示处理信息)
tail -n 数字 文件名(读取最新几行的信息,数字几就是最新几行)
tail -c 文件名 (读取时显示字节数)
写文件
1.编辑已有文件
vi 文件名 – 按“i” 进入编辑模式(出现–INSERT–字样) – 输入内容 --按“ESC”退出编辑模式 – 在底端输入“:wq”保存并退出。
:wq (保存并退出)
:q(退出)
:q!(不保存,强制退出)
2.新建可编辑文件
直接输入“vi”进入编辑器 – 按“i”进入编辑模式 --输入内容 – 按“ESC”退出编辑模式 --在底端输入“:wq 新建文件名”新建文件,保存并退出。
读写的应用
文件的读写一般用来配置环境变量。linux中配置环境变量的文件是在根目录/etc/profile中设置。
windows中搭建tomcat,java
java安装
1.下载jdk,最好安装在默认路径,不要更改,安装在其他盘容易出问题。
2.配置环境变量:bin目录路径添加到path中,jre路径里面的bin目录也添加到path中。
3.cmd输入”java -version“和”javac -version“,出现版本号即安装成功。
tomcat安装
1.双击下一步安装。
2.浏览器输入127.0.0.1:8080/出现首页即安装成功。
linux中搭建tomcat,java
安装filezilla
(windows和linux之间的文件传输软件)
填入主机,用户名,密码。端口号(同云服务器)–快速连接云服务器
直接把windows上的文件拖入linux对应的文件夹即可。
下载jdk和tomcat,拖入Linux。(一般软件都是安装在usr文件夹中)
安装java
(tomcat是用java写的,所以要运行tomcat,必须要安装Java)
官网下载最新的jdk文件
tar -zxvf 需要解压的jdk文件 – cd usr/ – mkdir java – mv 解压后的文件夹 /usr/java
cd /etc --vi profile – 在done下空白处,按“i”键进入编辑模式 --写入Java环境变量
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export CLASSPATH=.: J A V A H O M E / j r e / l i
版权声明:本文标题:软件测试精华总结,入门到精通全流程(必看,知识点很全) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1729437385a1201078.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论