我们可以从不同的角度对一个软件产品进行质量的评估,ISO提出了软件质量模型这一参考标准,提出了各种评估产品质量的规范,帮助我们更好地评估一个软件产品的质量。基
我们可以从不同的角度对一个软件产品进行质量的评估,ISO提出了软件质量模型这一参考标准,提出了各种评估产品质量的规范,帮助我们更好地评估一个软件产品的质量。基于此,蜗牛学院特别选取其中最重要的六种测试类型,并基于此构建起蜗牛学院完整的软件测试技术体系和课程体系。
实验目的
- 掌握软件质量模型的8大核心类型。
- 深入理解软件测试常用的六大类型。
实验流程
1.软件质量模型
2.六大测试类型
- 功能性测试(Functionality):关注功能是否正确。
- 可用性测试(Usability):关注产品是否好用。
- 兼容性测试(Compatibility):关注产品是否适用多种平台。
- 可靠性测试(Reliability):关注产品是否稳定可靠。
- 安全性测试(Security):关注产品是否存在漏洞。
- 性能测试(Performance):关注产品是否能够高效运行。
功能性测试-Functionality
- 概念:根据产品的SRS和测试需求列表,验证产品的功能实现是否符合产品的需求规格
- 常见关注点:
- 是否有不正确或遗漏了的功能
- 功能实现是否满足用户需求和系统设计的隐藏需求
- 输入能否正确接受?能否正确输出结果?
- 音频转换通举例:
- 使用音频通软件进行正常的格式转换
- 点击“添加文件”按钮进行操作
- 点击播放按钮进行文件播放
- 其他常见例子:
- ATM机上取钱上不扣款
- 输入不正确的日期格式也可以成功提交
- WEB页面的一个超链接打不开
- 手机上正在听音乐时来电不提示
- 地铁公交卡刷卡后扣款不成功
- 手机APP无法正常启动
- 手机拨号后无法接通对方手机
- 2012年广州出租车计价器无法识别2月29日
可用性测试-Usability
- 概念:根据ISO 9241-11的定义,可用性是指在特定环境下,产品为特定用户用于特定目的时所具有的有效性、效率和主观满意度。常见的可用性测试大多都是基于界面的测试,体现在易用、易懂、简捷、美观等方面。
- 常见关注点:
- 过分复杂的功能或指令
- 困难的安装过程
- 错误信息过于简单
- 用户被迫去记住太多的信息
- 语法、格式和定义不一致
-
音频转换通举例:
- 每个按钮的文字描述是否准确,和实际功能是否符合
其他常见例子:
- 手机上应用程序运行太慢
- 删除一条数据时无二次确认
- 页面布局很难看
- 页面字体颜色太刺眼,字体太小
- 网站经常出现弹窗广告
- 手机上按钮设置在左上角
- 网页上的超链接显示不明显
- 苹果早期手机一直坚持屏幕小于4英寸
今天我点名买了个B/S系统,听说只要有浏览器就能用。我最讨厌装客户端了,用浏览器就是方便啊。下面就是我使用这个系统碰到的麻烦事:
- 我登录失败的时候没有任何提示,这没什么,反正提示也只是说失败……
- 进去后发现颜色变更很强烈刺得我一眨眼,不过多看几次就习惯了。
- 点击某个链接的时候出现错误页面,刷新后就好了,难道是随机错误?
- 保存文字的时候没有成功提示,不过能成功保存就算了。
- 浏览记录的时候竟然出现错误页面,原来我没有选记录就浏览了,我自己操作不规范嘛。
- 删除记录的时候发现选错了,想取消的时候却提示删除成功,都没有确认提示,只能下次看仔细点了。
- 查询时字母键被茶杯压住了多输了点字符,竟然出现错误页面,下次把东西整理好。
- 无聊随便点点几个链接,竟然没有反应,既然不用,那就不要做出来嘛。
- 看看自己上传的图片效果如何,这个怎么不显示?多试几次发现名字不包含中文就好了,下次注意下。
- 改改字体字号颜色美化环境嘛,怎么格式那里不显示正确的字体字号呢,将就用吧。
- 这里的记录条数怎么这么多啊?原来是没有删除按钮,看来下次不能随便加了。
- 这个结束时间怎么在开始时间前啊?原来没有进行控制,下面的人执行时……还是自己改过来吧。
- 上次我在这里看见的图片呢?刷新后就出来了,怎么和我玩捉迷藏呢?
- 多输了点内容,保存时候提示太多了,点确定后发现被清空了,我一个小时的工作啊!
- 这张图片真不错,但是按钮呢,按钮呢?按钮被挤掉了我怎么编辑啊。
- 听说F5是刷新点一下看看。怎么好像变成了登录界面?
- 刚学了怎么用TAB键,确实很方便。TAB一下。跑哪去了,怎么一片空白啊?
- 玩游戏的人点击速度那么快,我也来试试。怎么一双击就出错了?
- 我找错别字是很厉害的,这不就发现“同意”写成了“统一”。
- 这里提示只能输入1-100,我偏要输入9999……保存看看,怎么系统不能用了?
- 这里一点击就出现IE错误,硬是不弹出我需要的窗口。
- 这个查询按钮怎么灰掉了?这么多记录让我一页一页翻过去找啊。
- 上传第二个附件的时候怎么把第一个挤掉了啊,会挤掉也要提示一下嘛。
- 一个页面上打开的记录太多了,变体都用…省略了,要是鼠标放上去浮动显示完整标题就方便多了。
- 这几条记录有依存关系,删了一条其他就没了,提示都没有,早知道我就用编辑了……
- 这条记录怎么好像是昨天的,我记得今天更新了啊?原来编辑后的记录没有传到引用的地方。
- 最最奇怪的是昨天上传时候正常的图片今天就不能显示了。我记得没有只能显示一天的功能啊?
- 这里怎么没有任何按钮呢,看手册才知道竟然要用右键进行操作,怎么突然冒出个异类啊?
- 这里怎么能增加两条相同的记录呢?不控制一下天知道手下那些愣头青会做出什么来。
- 这里的菜单一层一层又一层,足足有五层,把我头都绕晕了……我记得哪里说过最好不要超过三层的。
- 这个界面看起来怎么这么别扭啊,是字体太大了,是按钮太小了,还是功能太多了,……
- 怎么不是管理员登录进来也能管理啊,那我这个管理员的身份不是多此一举吗?
- 删除的时候提示Error,幸亏我英语水平好,可是你换成中文不行吗?
- 这条记录不是删除了吗,怎么还能引用啊,到时候出错了怎么办,难道还要我记住删了那些记录?
- 经过精心编辑,我发了一条通知,怎么用普通用户查看的时候是默认的字体字号啊?
- 这几个页面上的当前日期怎么是固定不变的啊,这都是去年的日期了,不会是开发时候的吧。
- ……
兼容性测试-Compatibility
- 概念:主要是为了检查软件在不同的软\硬件平台上是否可以正常的运行的一种测试。
- 常见关注点:
- 兼容不同的OS
- Web项目兼容不同的浏览器
- 兼容不同的数据库
- 兼容不同的分辨率
- 兼容不同的厂家的硬件设备,耳机、音响等。
- 音频转换通举例:
- 在windows7、Mac OS上进行音频转换测试
- 其他常见例子:
- 中国的插座无法在欧美使用
- 某网页IE和Firefox中显示效果不一样
- 某App应用程序在某手机上无法安装
- 针对手机,平板和电脑要单独开发三套界面
- 在IE中可使用回车键,但是在Firefox上无法使用
- 某游戏无法运行在IOS系统上
- 某应用程序在Windows10上经常卡
可靠性测试-Reliability
- 概念:为了达到或验证用户对软件的可靠性要求而对软件进行的测试。通过测试发现并纠正软件中的缺陷,提高其可靠性水平,并验证它是否达到了用户的可靠性要求。可靠性测试包含了软件的健壮、稳定、容错、自恢复等方面。
- 常见关注点:
- 输入异常的数据
- 操作异常的文件
- 长时间工作后保持正常
- 多次打开应用程序
- 音频转换通举例:
- 长时间操作使用后音频通后是否会出错
- 添加文件后,将其物理删除,再进行转换,音频通是否会出错
- 其他常见例子:
- 手机使用时间太长容易死机
- Android,IOS上的闪退
- Windows上的蓝屏
- 手机通话时失去信号后无法马上挂断
- 手机恢复信号后通话无法继续
- QQ文件传输不支持断点续传
- 阿里巴巴杭州电缆被挖断时无法立即恢复
安全性测试-Security
- 概念:为验证应用程序的安全等级和识别潜在安全性缺陷的过程。
- 常见关注点:
- SQL注入
- 口令认证
- 加解密技术
- 权限管理
- 安全日志
- 音频转换通举例:
可以认为音频通软件不存在安全性问题,因为这是一个辅助性的软件任何人都能使用,且转换的音频和视频大多不涉及到严重的危害,所以我们可以不考虑这一点。
- 其他常见例子:
- 我们经常接到骚扰电话
- WIFI万能钥匙
- 某支付宝账户的余额被恶意转走
- CSDN网站用户600万数据泄漏
- 手机上的联系人信息被窃取
- 某网站首页被恶意篡改
- 某网站被大量非法用户攻击
性能测试-Performance
- 概念:用来测试软件在系统中的运行性能。负载、压力、容量测试等都属于这一范畴。
- 常用工具:LoadRunner、WebLoad、jmeter等
- 常见关注点:
- 系统资源,cpu、内存、io读写
- 并发用户数
- 最大数据量
- 响应时间
- 处理成功率
- 音频转换通举例:
- 批量转换或合并转换1000个10M的文件,耗时是否符合预期
- 对超大的文件进行转换
- 其他常见例子:
- 网页半天打不开,反应很慢
- 应用程序运行太久占用内存很大
- 2008年北京奥运会门票系统崩溃
- 2012年伦敦奥运会门票系统崩溃
- 12306网站春运期间购票难
- Android手机运行不流畅,经常卡顿
综上,介绍了常用的6大测试类型,各个测试类型并不是孤立的,一个测试用例有时包含了多种测试类型。我们学习测试类型的目的不是要死记硬背,而是利用他们从多个角度来梳理测试点,形成高质量的测试用例,从而获取更好的测试效果。最后思考下,各大测试类型之间有什么联系,哪些用例包含了多种测试类型的?