软件测试最重要的六大类型,你清楚吗?

我们可以从不同的角度对一个软件产品进行质量的评估,ISO提出了软件质量模型这一参考标准,提出了各种评估产品质量的规范,帮助我们更好地评估一个软件产品的质量。基

我们可以从不同的角度对一个软件产品进行质量的评估,ISO提出了软件质量模型这一参考标准,提出了各种评估产品质量的规范,帮助我们更好地评估一个软件产品的质量。基于此,蜗牛学院特别选取其中最重要的六种测试类型,并基于此构建起蜗牛学院完整的软件测试技术体系和课程体系。

实验目的

  1. 掌握软件质量模型的8大核心类型。
  2. 深入理解软件测试常用的六大类型。

实验流程

1.软件质量模型

2.六大测试类型

  • 功能性测试(Functionality):关注功能是否正确。
  • 可用性测试(Usability):关注产品是否好用。
  • 兼容性测试(Compatibility):关注产品是否适用多种平台。
  • 可靠性测试(Reliability):关注产品是否稳定可靠。
  • 安全性测试(Security):关注产品是否存在漏洞。
  • 性能测试(Performance):关注产品是否能够高效运行。

功能性测试-Functionality

  • 概念:根据产品的SRS和测试需求列表,验证产品的功能实现是否符合产品的需求规格
  • 常见关注点:
  1. 是否有不正确或遗漏了的功能
  2. 功能实现是否满足用户需求和系统设计的隐藏需求
  3. 输入能否正确接受?能否正确输出结果?
  • 音频转换通举例:
  1. 使用音频通软件进行正常的格式转换
  2. 点击“添加文件”按钮进行操作
  3. 点击播放按钮进行文件播放
  4. 其他常见例子:
    1. ATM机上取钱上不扣款
    2. 输入不正确的日期格式也可以成功提交
    3. WEB页面的一个超链接打不开
    4. 手机上正在听音乐时来电不提示
    5. 地铁公交卡刷卡后扣款不成功
    6. 手机APP无法正常启动
    7. 手机拨号后无法接通对方手机
    8. 2012年广州出租车计价器无法识别2月29日

    可用性测试-Usability

    • 概念:根据ISO 9241-11的定义,可用性是指在特定环境下,产品为特定用户用于特定目的时所具有的有效性、效率和主观满意度。常见的可用性测试大多都是基于界面的测试,体现在易用、易懂、简捷、美观等方面。
    • 常见关注点:
    1. 过分复杂的功能或指令
    2. 困难的安装过程
    3. 错误信息过于简单
    4. 用户被迫去记住太多的信息
    5. 语法、格式和定义不一致 
    6. 音频转换通举例:

      1. 每个按钮的文字描述是否准确,和实际功能是否符合

      其他常见例子:

      1. 手机上应用程序运行太慢
      2. 删除一条数据时无二次确认
      3. 页面布局很难看
      4. 页面字体颜色太刺眼,字体太小
      5. 网站经常出现弹窗广告
      6. 手机上按钮设置在左上角
      7. 网页上的超链接显示不明显
      8. 苹果早期手机一直坚持屏幕小于4英寸

      今天我点名买了个B/S系统,听说只要有浏览器就能用。我最讨厌装客户端了,用浏览器就是方便啊。下面就是我使用这个系统碰到的麻烦事:

      1. 我登录失败的时候没有任何提示,这没什么,反正提示也只是说失败……
      2. 进去后发现颜色变更很强烈刺得我一眨眼,不过多看几次就习惯了。
      3. 点击某个链接的时候出现错误页面,刷新后就好了,难道是随机错误?
      4. 保存文字的时候没有成功提示,不过能成功保存就算了。
      5. 浏览记录的时候竟然出现错误页面,原来我没有选记录就浏览了,我自己操作不规范嘛。
      6. 删除记录的时候发现选错了,想取消的时候却提示删除成功,都没有确认提示,只能下次看仔细点了。
      7. 查询时字母键被茶杯压住了多输了点字符,竟然出现错误页面,下次把东西整理好。
      8. 无聊随便点点几个链接,竟然没有反应,既然不用,那就不要做出来嘛。
      9. 看看自己上传的图片效果如何,这个怎么不显示?多试几次发现名字不包含中文就好了,下次注意下。
      10. 改改字体字号颜色美化环境嘛,怎么格式那里不显示正确的字体字号呢,将就用吧。
      11. 这里的记录条数怎么这么多啊?原来是没有删除按钮,看来下次不能随便加了。
      12. 这个结束时间怎么在开始时间前啊?原来没有进行控制,下面的人执行时……还是自己改过来吧。
      13. 上次我在这里看见的图片呢?刷新后就出来了,怎么和我玩捉迷藏呢?
      14. 多输了点内容,保存时候提示太多了,点确定后发现被清空了,我一个小时的工作啊!
      15. 这张图片真不错,但是按钮呢,按钮呢?按钮被挤掉了我怎么编辑啊。
      16. 听说F5是刷新点一下看看。怎么好像变成了登录界面?
      17. 刚学了怎么用TAB键,确实很方便。TAB一下。跑哪去了,怎么一片空白啊?
      18. 玩游戏的人点击速度那么快,我也来试试。怎么一双击就出错了?
      19. 我找错别字是很厉害的,这不就发现“同意”写成了“统一”。
      20. 这里提示只能输入1-100,我偏要输入9999……保存看看,怎么系统不能用了?
      21. 这里一点击就出现IE错误,硬是不弹出我需要的窗口。
      22. 这个查询按钮怎么灰掉了?这么多记录让我一页一页翻过去找啊。
      23. 上传第二个附件的时候怎么把第一个挤掉了啊,会挤掉也要提示一下嘛。
      24. 一个页面上打开的记录太多了,变体都用…省略了,要是鼠标放上去浮动显示完整标题就方便多了。
      25. 这几条记录有依存关系,删了一条其他就没了,提示都没有,早知道我就用编辑了……
      26. 这条记录怎么好像是昨天的,我记得今天更新了啊?原来编辑后的记录没有传到引用的地方。
      27. 最最奇怪的是昨天上传时候正常的图片今天就不能显示了。我记得没有只能显示一天的功能啊?
      28. 这里怎么没有任何按钮呢,看手册才知道竟然要用右键进行操作,怎么突然冒出个异类啊?
      29. 这里怎么能增加两条相同的记录呢?不控制一下天知道手下那些愣头青会做出什么来。
      30. 这里的菜单一层一层又一层,足足有五层,把我头都绕晕了……我记得哪里说过最好不要超过三层的。
      31. 这个界面看起来怎么这么别扭啊,是字体太大了,是按钮太小了,还是功能太多了,……
      32. 怎么不是管理员登录进来也能管理啊,那我这个管理员的身份不是多此一举吗?
      33. 删除的时候提示Error,幸亏我英语水平好,可是你换成中文不行吗?
      34. 这条记录不是删除了吗,怎么还能引用啊,到时候出错了怎么办,难道还要我记住删了那些记录?
      35. 经过精心编辑,我发了一条通知,怎么用普通用户查看的时候是默认的字体字号啊?
      36. 这几个页面上的当前日期怎么是固定不变的啊,这都是去年的日期了,不会是开发时候的吧。
      37. ……

      兼容性测试-Compatibility

      • 概念:主要是为了检查软件在不同的软\硬件平台上是否可以正常的运行的一种测试。
      • 常见关注点:
      1. 兼容不同的OS
      2. Web项目兼容不同的浏览器
      3. 兼容不同的数据库
      4. 兼容不同的分辨率
      5. 兼容不同的厂家的硬件设备,耳机、音响等。
      • 音频转换通举例:
      1. 在windows7、Mac OS上进行音频转换测试
      • 其他常见例子:
      1. 中国的插座无法在欧美使用
      2. 某网页IE和Firefox中显示效果不一样
      3. 某App应用程序在某手机上无法安装
      4. 针对手机,平板和电脑要单独开发三套界面
      5. 在IE中可使用回车键,但是在Firefox上无法使用
      6. 某游戏无法运行在IOS系统上
      7. 某应用程序在Windows10上经常卡

      可靠性测试-Reliability

      • 概念:为了达到或验证用户对软件的可靠性要求而对软件进行的测试。通过测试发现并纠正软件中的缺陷,提高其可靠性水平,并验证它是否达到了用户的可靠性要求。可靠性测试包含了软件的健壮、稳定、容错、自恢复等方面。
      • 常见关注点:
      1. 输入异常的数据
      2. 操作异常的文件
      3. 长时间工作后保持正常
      4. 多次打开应用程序
      5. 音频转换通举例:
      6. 长时间操作使用后音频通后是否会出错
      7. 添加文件后,将其物理删除,再进行转换,音频通是否会出错
      • 其他常见例子:
      1. 手机使用时间太长容易死机
      2. Android,IOS上的闪退
      3. Windows上的蓝屏
      4. 手机通话时失去信号后无法马上挂断
      5. 手机恢复信号后通话无法继续
      6. QQ文件传输不支持断点续传
      7. 阿里巴巴杭州电缆被挖断时无法立即恢复

      安全性测试-Security

      • 概念:为验证应用程序的安全等级和识别潜在安全性缺陷的过程。
      • 常见关注点:
      1. SQL注入
      2. 口令认证
      3. 加解密技术
      4. 权限管理
      5. 安全日志
      • 音频转换通举例:

      可以认为音频通软件不存在安全性问题,因为这是一个辅助性的软件任何人都能使用,且转换的音频和视频大多不涉及到严重的危害,所以我们可以不考虑这一点。

      • 其他常见例子:
      1. 我们经常接到骚扰电话
      2. WIFI万能钥匙
      3. 某支付宝账户的余额被恶意转走
      4. CSDN网站用户600万数据泄漏
      5. 手机上的联系人信息被窃取
      6. 某网站首页被恶意篡改
      7. 某网站被大量非法用户攻击

      性能测试-Performance

      • 概念:用来测试软件在系统中的运行性能。负载、压力、容量测试等都属于这一范畴。
      • 常用工具:LoadRunner、WebLoad、jmeter等
      • 常见关注点:
      1. 系统资源,cpu、内存、io读写
      2. 并发用户数
      3. 最大数据量
      4. 响应时间
      5. 处理成功率
      6. 音频转换通举例:
      7. 批量转换或合并转换1000个10M的文件,耗时是否符合预期
      8. 对超大的文件进行转换
      • 其他常见例子:
      1. 网页半天打不开,反应很慢
      2. 应用程序运行太久占用内存很大
      3. 2008年北京奥运会门票系统崩溃
      4. 2012年伦敦奥运会门票系统崩溃
      5. 12306网站春运期间购票难
      6. Android手机运行不流畅,经常卡顿

      综上,介绍了常用的6大测试类型,各个测试类型并不是孤立的,一个测试用例有时包含了多种测试类型。我们学习测试类型的目的不是要死记硬背,而是利用他们从多个角度来梳理测试点,形成高质量的测试用例,从而获取更好的测试效果。最后思考下,各大测试类型之间有什么联系,哪些用例包含了多种测试类型的?