1 功能测试
根据产品需求文档编写用例,执行测试
App客户单的单个功能模块
需要使用等价类、边界值,考虑正常和异常情况
依据功能业务逻辑考虑功能交互
注意:功能测试点提取和用例设计方法跟web测试一致,但App又一些自己特性测试,也要额外加到测试点中
1.1 安装与卸载测试
1)软件安装前:空间不足时是否有相应提示
2)软件安装中:A安装过程中是否可以取消 B安装是否可以正常运行 C空间不足时是否有相应提示
3)软件安装后:
①是否可以卸载应用:a通过桌面卸载 b通过软件设置卸载
②常见bug:发现在Ios手机上有个应用安装时未完全安装,终止安装后未完成安装的应用图标一直显示在手机上,并且无法成功删除
③卸载是否支持取消功能,单机取消后软件卸载功能是否正常
④安装完是否自动删除安装包---占内存
4)重复安装:A提示版本已经存在 B直接覆盖安装,但是能正常使用
1.2 软件更新升级
1)升级之前:当客户端有新版本时,是否有更新提示
2)升级之后:A更新后各个功能(新/老功能)是否能正常使用 B更新后老数据存在并正常
3)非强制升级版:用户可以取消更新,老版本正常使用,用户在下次启动App时,仍能出现更新提示
4)强制升级版:用户没有做更新时,退出客户端,下次启动App时,仍出现强制升级提示
5)在线跨版本升级:A升级后正常使用 B选择版本---用户使用量最多的版本---主流版本
1.3 App登录测试
1)登录方式:用户名 短信验证码 指纹 二维码 手势 语音 头像识别 第三方登录(微信/QQ/微博)--是否支持
2)未登录用户:
①一些页面的操作,是否做了控制 ---权限
②点击某些资源,提示登录或者跳转登录页面
③用户主动退出登录后,下次启动App时,应该进入登录页面
3)切换账户登录:检查登录的信息是否做到及时更新
4)单点登录:
①不允许多点登录时,是否将原用户踢下线,且能够给出提示信息
②允许多点登录,提示信息;且确保数据库操作无误,每个端可以及时看到数据的更新
5)用户登录时需时间太长,账户信息会过期:
①出现“虽然是登录状态,系统会提示用户没有登录”
②强制退出,并提示:账户信息过期,请重新登录
1.4 触屏及操作测试
①触屏快捷手势,两指、三指滑动 ---滑屏
②长按、短按屏幕
③手机横屏、竖屏测试 ---旋转屏幕
④同时触摸不同的位置,同时进行不同操作 ---异常、闪退
查看客户端的处理情况,是否会crash(崩溃/闪退)、ANR(无响应)
注意:需要跟开发和产品确认是否支持
1.5 App消息推送测试 --通知设置/按手机行为进行支配
1)开关设置:
①默认状态全部打开状态,客户端可以接收到推送信息
②设置开关可以打开、关闭:App设置开关关闭时,客户端接收不到消息推送
2)手机客户端未锁屏时
①App应用后台运行,消息推送是否可以正常接收,且可以点击查看
②App应用前台使用,可以收到消息提醒,且点击可查看
3)手机客户端锁屏时:消息推送是否正常接收
4)登录状态:
①退出登录后,是否接受push推送(根据需求来)
②未登录用户再去登录:批量接收多条信息推送 红点/条数
③当push消息是针对登录用户时,需检查收到的push与用户身份是否相符,没有错误地将其他人的信息推送过来
5)消息栏(通知中心)是否可以接收到消息提醒,且点击可查看,点击后消息栏中消失
2 UI界面测试:
确保产品UI符合产品经理制定的原型图与UI设计效果图/切图一致
依据经验、用户使用习惯、参考其他成熟的产品,界面可优化的Bug
一般设计界面(如菜单/对话框/窗口和其他可视控件)布局、风格,文字是否正确,页面是否美观,操作是否友好
如:安装App后的加载页/动态视频显示,分享页面的产品logo显示
注意:UI界面测试和web思路基本一致
3 兼容性测试 ---适配
①应用是否可以在不同操作系统正常使用(Android/ Ios),那在这两个平台都要做兼容性测试
②每个平台的不同系统版本:
Android版本:6、7、8、9、10(10.1)以及各种小版本
Ios版本:9、10、11、12、13以及各种小版本
③是否能适配各种屏幕尺寸:
Android系列:4.5英寸、5.7英寸(phone & pad)
Ios系列:3.5英寸、4寸、4.8英寸、5.0英寸(iphone & ipad)
④市场占有率最高:百度统计——一站式智能数据分析与应用平台
⑤分辨率适配:分辨率影响界面图标、文字大小,保证主流分辨率下页面显示完整。文字不被遮挡
⑥特定用户指定要求
总结:
①兼容性测试一般覆盖:
Android系统手机:小米、华为、vivo、oppo等
Ios系统手机:6s、6plus、7、8plus、x、xs、11、11plus
②公司与那些测试手机,就去测试那些测试手机的兼容性测试、界面测试
了解:云测平台,免费50款机型:安装、打卡App、monkey(猴子)、关闭App、卸载
4 App中断测试
1)App被手机行为打扰的情况:App能否正常处理,保证数据正确性 ---运行,数据
2)主要对于核心功能存在实时数据交换的页面去进行中断测试,除了确保中断过程中有合理处理,还确保中断过后,恢复正常:
① 来电、来短信、锁屏解锁、断网重连、断电、低电量提醒、前后台切换、App切换
② 手机端硬件上,如:待机、插拔数据线、耳机、闹铃弹出框提示等操作
3)常见bug场景:
① 爱奇艺视频播放过程中,微信通话/电话中断:
正常:App暂停状态;接听完电话之后,恢复直播正常
异常:App卡死、音视频不同步
② 微信视频聊天,低电量提醒中断:(电话中断?)
正常:聊天不中断,关掉提示后,正常通讯
异常:App卡死/崩溃,微信聊天强行断开
5 网络测试
1)测试2G/3G/4G/5G/WIFI/热点,网络的切换
例:从WiFi环境切换到4G环境提示是否启用4G网络,会产生扣费 ---是否有提醒
2)测试有网/无网切换下
①有网到无网再到有网环境时,数据是否可以自动恢复,正常加载(网络中断重连)
②无网络时,各种提示信息是否友好,数据本地是否正确(比如提示当前已断开网络,请检查网络设置)
3)弱网测试(延时+丢包),关注弱网场景下超市是否有合理提示,且是否有重发机制
①提交数据是否一直处理提交中,是否会有延迟,数据交换失败是否会有提醒
②数据多次提交(支付类App),是否只能被执行一次
③最大尝试次数(3-5次),App是否正常工作
4)App离线测试 --缓存/刷新不ok
①应用程序在本地客户端会缓存一部分数据以供程序下次调用,对于一些程序,离先状态下可以浏览本地数据
对于离线(无网络)时,刷新获取新数据时,不能获取数据时会给出友好提示
离线下,退出App再开启App时能正常浏览本地缓存数据 --不清除缓存
离线下,切换到主屏幕再切回App应用时可以正常浏览
离线下,锁屏后再回到应用前台可以正常浏览
②对于界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据
6 安全性测试 ---权限测试
1)扣费风险:包括发短信、拨打电话、连接网络、没有网络时能否提醒 ---友好提示
2)隐私泄露风险:包括访问手机信息、访问联系人信息等
3)是否允许访问相册、拍照 开放权限+不开放权限
4)是否允许录音
5)是否允许定位
6)是否允许连接通知推送
注意:默认情况下是开发的,需要提示用户选择
①一般对于大多数非支付类App来说,安全并不是一个特别的的问题,只需要保证登录鉴权的安全性即可
②没有安全性测试要求,可以不用考虑(sql注入,安全扫描等)
7 性能测试
1)服务器性能测试(例:loadrunner/Jmeter工具-免费):App各类功能性操作的响应时间(后台服务器的性能)
2)App客户端性能测试
①App安装、卸载的响应时间
②CPU、内存、流量、电量的占用
专门的性能测试小工具,例:GT(腾讯)、Instrunments、emmage(Android)、OneApm
③压力稳定性测试(monkey):100000次操作 点击 滑动 按键(专项录播视频)
App反复进行安装卸载、其它功能反复进行操作
参考博客:https://www.cnblogs.com/tudou-22/p/9213748.html
8 一些关于App测试的问题
1)App的测试资源准备? ---了解
Ios设备、Android设备(选取市面上主流手机产品)
支付宝/银联支付的项目,需要提前申请支付宝/银联账户等等
有秒杀专题的题目,需要规划秒杀时间表
有优惠券使用的项目,需要添加优惠券数据
2)App的稳定性? ---了解 → monkey工具录播
了解什么是稳定性,这项工作一般是在软件产品基本功能无缺陷后进行的一项测试工作,一般是软件系统满足持续运行模式,进行正常情况,临界情况的测试,看系统是否有异常 ---功能测试之后
一般使用monkey工具,向系统发送随机事件流,如按键输入、触摸屏输入、手势输入等,实现对软件的稳定性测试
3)App测试与Web测试的区别 --重点!!面试概率高,理解记忆
相同点:
①同样的测试用例设计方法 --功能测试
②同样的测试方法:都会一句原型图或者效果图检查UI --界面UI测试
③测试页面载入和翻页的速度、登录时长、内存是否溢出等 --性能和易用性
④测试应用系统的稳定性 --稳定性(性能)
不同点:
①App的中断测试:来电中断、短信中断、蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机重启)
②App的安装卸载升级:全新安装、升级安装、第三方工具安装/卸载、直接删除卸载
③消息推送测试、手机授权测试、前后台切换、网络环境(wifi/2G/3G/4G/5G/无网络),弱网测试
④兼容性测试:web项目考虑不同浏览器的兼容;App需要考虑手机不同操作系统、不同机型、不同屏幕、分辨率等的兼容
4)App云测试平台:百度云测、testin云测等
http://www.open-open.com/lib/view/open1463526042631.html正在上传…重新上传取消 Android App测试和 Ios App测试的区别? ---系统
1)Android系统开源,Ios不开源,安全性; ---推送信息(Android绕过系统,Ios走系统)
2)Android版本特别多,Ios相对版本比较少,且不支持降级
3)App审核机制L应用市场描述必须Apple store --审核周期长--99块钱一个月
4)操作习惯:Android--back;Ios--home
5)暗黄卸载:安装包(apk)--系统点击安装,Ios---苹果签名,App Store,iTunes,testflight--测试版本
十三 微信小程序(Mini Program)测试要点
1 微信小程序是什么? ---不需要下载安装,内嵌在微信里的App
1)小程序版本:开发版(开发环境)、体验版、正式版
2 小程序的架构
包含View视图层(界面)、AppService逻辑层(后台),它们在两个线程里运行。
View层用来渲染页面结构
AppService层用来逻辑处理数据请求,接口调用。
视图层和逻辑层通过系统层的JSBridage进行通信。
3 小程序的测试要点
功能测试、权限测试、UI页面测试、兼容性测试、接口(api)测试、网络测试、性能测试
3.1功能测试
1)功能测试跟App的功能测试一样
2)根据设计好的各个大类功能模块划分,然后再逐级细化,覆盖到每个功能尽可能全面的测试点,包括业务流程、数据流向、功能入口有效性检查、交互性检查测试
注意:小程序除了本身功能的交互,还喝微信用户端有交集
①入口 ②交易:小程序支持交易,他与微信的钱包、卡包是有联系的,需要测试
3.2 权限测试 --宿主应用权限
1)未授权微信登录小程序:
①未授权时,使用一些业务功能时,会弹出提醒“先授权再操作对应功能”
②在提交数据到后台时,会提示补充相关身份信息才能提交
2)已授权微信登录小程序
①授权微信访问小程序,意味着自己的微信账号可被小程序管理方获取
②自动以微信的身份行使业务操作权限,比如咨询、支付、数据查询等
3)所能查看的数据和操作的权限都应是同步一致的,同一微信在不同手机端登录授权查看数据权限
3.3 UI页面测试
1)小程序的页面测试和App的界面测试一样,确保产品UI符合产品经理定制的原型图与ui设计效果图/切图一致
2)关注页面展示元素,如菜单、对话框、窗口和其他可视控件的布局、风格,文字是否正确,页面是否美观,页面交互操作是否频繁,是否易操作
注意:微信小程序页面层级跳转不能超过10次 ---限制
3.4 兼容性测试
1)手机系统:
兼容覆盖Android和Ios系统,包括主流的Android和Ios品牌也要覆盖,比如华为,小米,iPhone11,iPhoneXR等,覆盖到最新的试用版和当前流行的主要版本
2)微信版本:
①与微信版本的兼容性问题主要体现在小程序api库的版本上
②因为微信小程序SDK(software development kit)的api库版本一直在更新,导致SDK的api有可能向下的兼容性问题,所以测试微信版本的兼容性之前要先确定小程序使用的api库版本在哪些微信版本号上支持
3)屏幕大小
微信小程序定义了一个新的尺寸单位rpx(responsive pixel),可适配不同的屏幕大小,但要注意一个特殊的尺寸1xr,因为这个尺寸经常在iPhone7P,iPhone X plus上出现问题,所以只需要关注一下即可
3.5 网络测试
1)参考App的测试方法
2)测试2G/3G/4G/5G/WiFi网络的切换
3)测试有网/无网切换下的应用运行
4)弱网测试:延时、丢包
3.6 性能测试
1)服务器性能测试 ---接口测试
2)客户端性能测试 ---页面白屏时间、首屏时间、资源占用(CPU/内存/流量/电量)、页面渲染(UI呈现效果)
常见问题
1、小程序怎么做兼容性测试?
1)系统平台版本 2)微信版本(宿主应用) 3)屏幕大小
2、小程序跟App测试
1)安装卸载升级 2)小程序--微信交互 3)功能(入口) 4)首屏 白屏 5)兼容
十四 H5测试要点
1 H5是什么? ---可以理解为一个网页
①H5来自“HTML5”,是一种高级的网页技术,包括HTML、CSS和JavaScript在内的一套技术组合
②原生App(native app):使用原生制作App,即在基于目前的智能手机的操作系统(如安卓Android、苹果Ios还有Windows phone)的基础上,使用相应平台支持的开发工具和语言(比如Ios平台支持Xcode和Objective-C、安卓平台支持Eclipse和Java)编写的第三方移动应用程序,简称原生App
*参考博客文章:如何识别H5?如何判断一个 APP页面是否是H5页面 - 亚萌 - 博客园
2 H5、Native App、混合App的区别
1)H5:
①开发快,实现的功能也很炫
②只编写一次,可以再多个设备上到处运行
③具有局限性,如会话管理、安全离线存储、访问原生设备功能(摄像头、日历和地理位置)--依赖网络
2)Native App
①原生应用程序看起来(界面)和运行起来(性能)是最佳的;能更好的适应各种类型的功能实现 --缓存
②开发和测试周期比较长,原生的开发太耗时耗力
③必须登录到商店、下载新版本,才能获得最新修正版
3)混合App ---H5+原生混合开发
①某此固定格式和控件的、页面反应速度要求高的模块就采用原生native开发
②对于新闻、大段文字、资讯类的用H5语言的标准实现页面来加载,将其嵌入原生框架中
③混合应用程序让开发人员可以把HTML5应用程序嵌入到一个细薄的原生容器里面,集原生应用程序和HTML5应用程序的优点(及缺点)于一体
3 H5的测试点
功能测试、UI页面测试、兼容性测试、接口(api)测试、安全测试、网络测试、性能测试
3.1功能测试
基本的功能测试和App测试一样,另外关注:登录、翻页、刷新、返回、手机操作
①登录:目前H5和native各个客户端都做了互通,测试时应注意:
a.若客户端已登录,那么进入H5后仍然是登录状态
b.若客户端未登录,进入H5,点击对应按钮OR链接。如需登录,须拉起native登录;若取消登录,是否可再次拉起登录,或者停留在的页面是否有对应的登录提示
②翻页:遇到翻页加载的页面,需要注意内容为1页或者多页的情况。数据分页加载时,注意后续页面请求数据的正确。这个需要注意在快速操作场景中,请求页数是不是依次递增,快速操作
③刷新与返回:刷新与返回页面刷新是否仍然处于当前页面,刷新页面或者加载新内容时,页面是否有都懂,用户主动点击刷新按钮是否仍然处于当前页面,点击返回与back键,会退页面是否是期望页面
④手机操作:弹窗出现/关闭手机关注交互是否友好,比如弹出层的点击,是否会穿透影响到下面的页面。手机锁屏之后展示页面;退到后台,再重新呼出在前台展示
3.2 UI页面测试
1)H5的页面测试和App的界面测试一致,确保产品UI符合产品经理制定的原型图与UI设计效果图/切图一致
2)关注页面展示元素,如菜单、对话框、窗口和其他可视控件的布局、风格,文字是否正确,页面是否美观,页面交互操作是否友好,操作是否设计频繁,是否易操作
3.3 兼容性测试
1)浏览器兼容
①考虑手机主流浏览器,例QQ、UC、百度
②考虑PC端主流浏览器,例IE、Chrome、Firefox
③Android和Ios自带浏览器:Chrome、Safari
2)系统兼容:覆盖Android和Ios最新的试用版本和当前流行的主要版本
3)屏幕兼容:兼容不同的屏幕大小,包括横竖屏的适配
4)主流手机+主流浏览器:Oppo +百度浏览器
3.4安全测试
1)明确投放渠道有哪些,是否对未投放渠道做了限制
2)直接通过url请求是否拦截等;直接url是否能打开
3)部分敏感信息是否加密传输等
4)防止恶意攻击 ---sql注入(设计比较少)
3.5 网络测试
1)参考App的测试方法
2)测试2G/3G/4G/5G/WiFi网络的切换
3)测试有网/无网切换下的应用运行
4)弱网测试:延时、丢包
3.6 性能测试
1)服务器性能测试 ---接口测试
2)客户端性能测试
①加载速度:页面的首屏时间、白屏时间、有缓存/无缓存的加载时间
②(系统)资源占用:CPU、流量、电量、内存等的占用
a关注页面中有图片的话,尽量缩小图片
b资源是否压缩
c对于一些不会变化的图片,不需要每次都请求的东西,做本地缓存
d数据较多时,是否做了分页加载处理
f反复访问,检查是否占用大量内存
十五 App日志分析 ---安卓为例
1 ADT、SDK、ADB
1)ADT:安卓开发工具,在Eclipse上调用各种与Android有关的插件,便要ADT
2)SDK:软件开发部件,要用到各种Android平台,好比Android2.3等,便要有SDK
3)ADB:用来链接安卓手机和PC端的桥梁,通过ADB服务,在PC端命令行界面对手机或模拟器进行全面的操作
2、ADB常见命令
1)adb --help 查看帮助手册
2)adb devices 检测连接到电脑的安卓设备,是经常会用到的检测命令
3)adb connect/disconnect ip:端口号 通过WiFi进行远程连接手机进行调试,手机和电脑连接同一个路由器
4)adb shell ---登录设备shell(命令行的人机界面),Android手机后台就是一个Linux系统:
①ll,ls命令都可以用--查看文件:list--罗列 ls -l--属性
②cd:进入目录 --change directory切换目录
adb pull<手机文件路径><本机路径>从手机中拉取信息放到本地电脑上
--- adb pull/data/log.txt D:\Tricy_Works
adb push<手机文件路径><本机路径>从手本地推送信息到手机上去
--- adb push D:\Tricy_Works\monkey.txt /data
5)adb install xxx.apk ---为了获取apk的安装包所在地址,可以直接把apk拖到cmd的窗口获取,返回success就说明安装成功了
6)adb uninstall com.tencent.mobile qq --应用包名
7)adb shell dumpsys activity | find “mFocusedActivity” --查看前台运行应用包名
8)adb logcat 打印log信息 adb logcat -v time>d:\logcat.txt
9)touch 命令可以新建文本
3、adb连接真机
1)USB连接调试
①usb数据连接好电脑,手机打开调试模式
②勾选usb调试模式
③输入adb devices检测手机
2)WiFi连接调试:
Android设备与将运行adb的电脑连接到同一个局域网,比如连到同一个WiFi
①USB连接手机和电脑
②运行adb devices,测试是否连接成功,能出现设备列表即可
③运行adb tcpip5555,然后断开USB连接
④通过手机状态信息,查看手机的IP地址,一般会在设置-关于手机-状态信息-找到IP地址
⑤运行adb connect 192.168.2.216(ip地址),若出现 connected to192.168.2.216:5555 说明连接成功
⑥输入adb devices 检测手机
4、locat日志文件
1)Android日志系统提供了记录和查看系统调式信息的功能,日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用
使用方式:[adb] logcat [<option>]...[<fiter-spec>]
2)logcat是以如右开头的: 1.--------- beginning of xxx
3)开发者选项,有个选项叫做“日志记录器缓冲区大小”,默认是256K,日志是循环写入环形缓冲区的,在通常情况下,写满时最旧的日志会被删除以给最新输出的日志留内存空间--真机设置,模拟器一般没有
5、locat日志文件分析
由五个部分组成:
1)写下日志时的时间,如上中:01-11 09:39:35.209
2)优先级,在Android中,日志的优先级从低到高分以下几种:
V -Verbose(最低级别,开发调试中的一些详细信息,仅在开发中使用,不可在发布产品中输出)
D -Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)
I -Info(信息,一般提示性的信息)
W -Warning(警告)
E -Error(错误,已经出现可影响运行的错误,比如应用crash时输出的日志)
3)标签(tag),标明日志发起者和方便日志的过滤筛选,如上中ActivityManager,类和模块
4)PID(进程ID),如上中491
5)正文:本日志的主题内容
5.1、发生crash如何分析
发生crash,adb logcat获取日志分析:
1)搜索exception关键字,根据时间,包名定位
2)搜索fatal/caused by关键字
3)搜索force finish
找到对应的日志,贴到Bug里,发给开发!
6、何为ANR(Application Not Responding)
就是应用无响应当操作在一段时间内系统无法处理时,系统层面会弹出有图那样的ANR对话框
1)为用户在主线程长时间被阻塞时提供处理jaohu,提高用户体验
2)Android系统一种自身检测机制
6.1 发生ANR如何分析
系统在发生ANR时,会通过三种方式记录信息:
1)Logcat日志
日志格式:
ActivityManger:ANR in[进程名]([部件名])
ActivityManger:PID[应用进程ID]
ActivityManger:Reason:[原因提示][Process CPU state]
通过搜索anr关键字,若无具体java报错信息,继续另一种方法获取日志
2)Trace文件
通过Trace文件进行分析:/data/anr/
Dump stack trace信息
Dump的进程包括:当前应用程序 父进程 主进程 persistent进程 以及CPU占用率排在前几位的(字最多5个)进程
ps:只能记录最后一次发生的anr的信息
3)DropBox服务
data/anr/traces.txt文件里面只能保留最后一次发生ANR时的traces信息
①通过dropbox可以收集系统一段时间内的异常信息(包括ANR、crash)
②data/anr/dropbox是dropbox指定的文件存放位置
7、IOS APP定位日志
MacOS电脑:xcode工具
Windows:iTunes iTools
使用工具将日志同步到电脑,然后贴到Bug里给开发
补充:
1 error:cannot connect to daemon
- 查看是否有手机助手,豌豆荚之类的软件,会占用5037端口
2)使用netstat -ano | findstr 5037查看5037端口对应的进程号,用taskkill -f -pid 进程号即可杀死,adb connect重连
3)替换文件
参考博客:https://www.cnblogs.com/yyoba/p/9263805.html
2 offline:
- adb kill-server,杀掉进程,重新连接 -- adb connect
- 模拟器必须启动
- 替换文件
3 黑屏问题:安装最新版本的夜神模拟器:夜神安卓模拟器-安卓模拟器电脑版下载_安卓手游模拟器_手机模拟器_官网
4 真机测试,保证步骤跟PPT一致之外,https://www.cnblogs.com/zymnstlm/p/12381619.html,安装驱动
1)权限:/data --模拟器权限限制低,真机权限限制高
默认:#--root $--p普通用户 →sdcard目录,有权限,通过cd sdcard进入--注意:新建文件
- 电脑C盘:adb logcat -v time > C:\test\logcat.txt
十六 OA--敏捷开发模型--实战流程
1、需求评审会议
获取需求文档 --研读需求,整理疑点
提炼测试点,编写测试用例
2、测试设计 --重中之重
按照计划进行测试用例设计
xmind提炼测试点即可
3、测试执行
开发发布提测通知时,会附上测试环境地址
在测试环境上,执行测试用例;先冒烟,后正式系统测试
提交bug并跟踪;测试轮次3-4-5-6轮测试结束
4、评估阶段
测试结束输出测试报告,并发布邮件通知整个项目组
开发/运维项目上线