软件测试的艺术(读书笔记4)

下面继续本书第二部分的读书笔记部分

第二部分 软件测试基础

  包括第4章 测试用例设计;第5章 单元(模块)测试;第6章 更高级别的测试

第6章 更高级别的测试(包括第7章 可用性测试)

  1、为什么要进行更高级别的测试?

  回答更高级别测试是什么之前,需要知道软件产品开发周期模型,可以归纳为7个步骤:

  

  1.需求:由最终用户转换的一系列书面的需求

  2.目标:通过同用户评估可行性和成本,将用户需求转换为具体的目标

  3.产品规格说明:将目标转换为一个可以与最终用户交互的产品规格说明

  4.系统设计:将规格说明进行系统设计,并将系统分割为单独的程序、部件或子系统。

  5.程序结构设计:定义模块功能,模块层次结构及模块间接口,对程序结构进行设计

  6.模块接口规格说明:设计规格说明,定义每个模块的接口和功能

  7.代码:将模块接口规格说明转换为模块的源码

  以上7个步骤之间,都包括信息的沟通、理解和转换,如果两个步骤之间的信息沟通和转换发生错误和偏差,程序中都会出现软件错误。而为了减少这种信息沟通和转换时发生的错误,需要在开发周期的不同阶段采用不同的测试方法(更高级别的测试),避免沟通和信息转换的不一致现象的发生。

  在这些开发阶段采用的不同的测试方法,包括:模块测试、集成测试、功能测试、系统测试、验收测试、安装测试和可用性测试等。

  

  2、更高级别的测试包括什么?

  2.1 功能测试

  目的:发现程序与其外部规格说明之间存在不一致的过程。

  功能测试时黑盒测试,需要对规格说明进行分析以提炼测试用例。可以通过等价类划分方法、边界值分析方法、错误猜测方法进行躬耕测试。

  2.2 系统测试

  目的:将系统或程序与其初始目标进行比较,寻找程序与其目标之间的不一致的过程。(1.系统测试不局限于系统,程序作为一个整体是如何不满足其目标过程;2.产品没有书面的目标,系统测试无法进行)

 

分类说明
能力测试确保程序的目标功能实现(目标文档提及的能力)
容量测试发现处理大容量数据时的程序异常
强度测试发现在大规模负载、高强度不间断持续的数据处理中的异常(短时间内达到的数量峰值)
可用性测试评估最终用户在使用软件并与软件交互时的可用性问题
安全性测试试图攻破程序的安全防线
性能测试评估程序的响应时间以及吞吐量瓶颈
存储测试确保程序可以正确处理其对存储的要求,包括系统的存储和物理上的存储
配置测试检擦程序是否能在推荐配置上流畅运行
兼容性/转换测试评估新版本是否兼容老的版本
安装测试确保能够在所有支持的平台上安装软件
可靠性测试评估程序是否能达到规格说明中的运行时长和MTBF(平均故障间隔时间)要求
可恢复性测试测试系统恢复相关的功能是否按设计要求实现(系统如何从程序错误、硬件失效和数据错误中恢复过来)
服务/可维护性测试评估系统是否拥有良好的数据处理和日志机制,以备技术支持和调试之需
文档测试校验所有的用户文档是否准确
过程测试对软件系统操作或维护所涉及的流程进行评估和确定

 

  2.3 验收测试

  目的:设计测试用例,证明程序没有满足合同要求。

  由程序的客户或最终用户进行测试。

  2.4 安装测试

  目的:发现安装过程中出现的错误。

  2.5 独立的测试机构

  目的:开发程序机构难以客观地测试同一程序,需要雇佣第三方的软件公司进行软件测试。

  2.7 可用性(或用户体验)测试

  1)为什么要进行可用性测试?

    1.因为越来越多的基于用户界面的程序的出现

    2.在用户体验上花费时间和费用可以换来更好的市场和经济回报

    如果由于软件设计不够优美、交互界面繁琐难用、规格缺失或被忽视的原因,导致用户感觉很差,基本已经宣告项目开发失败。下面列出了一些可用性测试的测试灵感。

序号测试要素
1交互设计是否考虑到用户理解力、教育背景及环境压力
2程序输出是否有意义,意义是否模糊不清,没有侮辱性词语,
3程序错误提示是否直白易懂
4系统是否包含太多选项,这些选项是否会被用到,是否符合人的思维逻辑和直觉
5来自用户的输入,系统是否能及时做出反应
6程序操作是否容易上手
7用户操作是否可以重复进行
8菜单来回切换是否会发生意外
9软件功能是否达到设计规格要求

 

  2)怎么进行可用性测试?

  可用性测试之前需要进行周密计划,保证测试完整性。首先,根据软件的使用场景设计,设计不同的操作场景;然后,根据不同的场景,应为用户提供详细的操作说明,方便用户进行测试;接着,在测试过程中,应记录每一步的用户体验;最后,测试完成后,应和当事人进行沟通。在可用性测试用例设计方面,有几个方面需要着重考虑。

  • 测试用户的选择

  可用性设计方案需要一组用户或不同组用户完成多个测试。为什么呢?不同水平的用户对完成软件操作的时间不同,所以需要找不同水平的用户进行测试。对于特定行业软件需要找经验丰富专家进行测试;而对于使用范围较广的软件,应随机选择测试用户。

  • 需要多少用户进行测试

  进行可用性测试之前,需要考虑所需的测试人员。Nielsen研究发现,测试中可用性测试人员数量可用数学公式:

  E=100x(1-(1-L)^n)    

  其中:

    E=找到错误的比例

    n=测试人数

    L=单个测试人员发现的可用性问题比例

  如果L=31%,得出如下的趋势图,纵轴代表错误发现比例,横轴代表测试人数。5个人可以发现83%的错误,这种发现错误的比例其实不是很准确,这只是基于经济因素进行考虑的;如果对安全性有要求的系统需要更多的测试用户。

  

  • 数据采集的方法

  1)录制用户的测试过程,并让用户发表感受,并在测试完成后找到用户进行沟通

  2)远程用户测试,将软件产品安装在远端真实模拟环境测试(开发可通过第三方工具记录测试时间和操作流程)

  3)“眼球追踪”,记录测试人员在什么视觉元素上暂停时间长,由此确定有效的外观

  • 可用性调查问卷

   测试完成后,需要设计可用性的调查问卷,通过调查问卷可以引导用户发表一些自己的看法,开发人员可以根据这些用户看法或建议,了解软件优化方向。

  三种形式的问题:

  1)是/否问题

  2)真/假问题

  3)某种程度的同意/反对

  • 何时结束可用性测试

   可用性测试如何设计才能在合理预算内达到全面测试的效果?具体问题具体分析,视被测系统或部件的复杂度而定。在预算和时间充裕的情况下,根据开发进度分阶段进行测试(迭代测试)。

  1)不多的测试人员已经能发现很多可用性测试问题,可以结束,让开发人员设计交互界面;

  2)测试人员对分配的测试任务执行起来很流畅,没发现任何错误或故障。两种可能:a) 测试范围太小;b) 测试人员只是在验证规格书中的功能项,即程序做了“其应该做的”,对于测试的另一半“做了其不应该做的”,需要做更多测试;

  3)对测试人员的测试结果应仔细分析和总结,看看是否到达测试要求,如果不行,则还需要进行更多的测试;

   

 参考文献:

[1].函数图像绘制工具.https://zh.numberempire.com/graphingcalculator.php

  

  

转载于:https://www.cnblogs.com/chengabc/p/11297967.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件测试管理是指对软件测试过程进行规划、组织、协调和控制,以确保软件测试的有效性和可靠性。下面是软件测试管理的笔记: 一、测试计划 测试计划是软件测试管理的第一步,它主要包括测试目标、测试范围、测试任务、测试资源、测试进度、测试风险等内容。测试计划应该与软件项目的开发计划相一致,以确保测试的有效性和可靠性。测试计划应该由测试经理或测试主管编写,并提交给软件项目经理或项目主管进行审批。 二、测试设计 测试设计是软件测试管理的第二步,它主要包括测试用例、测试数据、测试环境、测试工具等内容。测试设计应该基于测试计划,并参考软件需求规格说明书、设计文档、用户手册等相关文档,以确保测试的全面性和准确性。测试设计应该由测试工程师或测试专家进行,同时需要对测试设计进行评审和验证。 三、测试执行 测试执行是软件测试管理的第三步,它主要包括测试用例执行、测试数据输入、测试结果记录、缺陷报告等内容。测试执行应该基于测试设计,并参考测试计划和软件需求规格说明书等相关文档,以确保测试的完整性和一致性。测试执行应该由测试工程师或测试人员进行,同时需要对测试结果进行评估和分析。 四、缺陷管理 缺陷管理是软件测试管理的重要组成部分,它主要包括缺陷发现、缺陷报告、缺陷跟踪、缺陷验证等内容。缺陷管理应该基于测试执行,并参考软件需求规格说明书、设计文档、用户手册等相关文档,以确保缺陷的有效性和可靠性。缺陷管理应该由测试经理或缺陷管理专员进行,同时需要对缺陷进行分类、分析和统计。 五、测试评估 测试评估是软件测试管理的最后一步,它主要包括测试效果评估、测试质量评估、测试成本评估等内容。测试评估应该基于测试执行和缺陷管理,并参考测试计划和软件需求规格说明书等相关文档,以确保测试的有效性和可靠性。测试评估应该由测试经理或测试主管进行,同时需要对测试结果进行总结、反馈和改进。 总的来说,软件测试管理需要在整个软件开发生命周期中进行,需要根据软件项目的特点和测试需求来选择合适的测试方法和工具。同时,软件测试管理需要具备一定的测试经验和管理能力,以确保测试的有效性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值