6.1 提炼测试功能点

提炼测试功能点是从需求出发,根据需求规格说明书和原型图,将需要测试的每一个功能,根据测试的策略,整理出需要测试的各项内容,为后续的测试用例设计准备好方案。

提取的方法是对于一项功能,由输入什么数据,对软件做什么操作,得到什么结果作为原则。每一种场景的步骤可以按照顺序上下排列写出,步骤以产生明显的状态或结果来区分,每一个步骤操作完成后的状态或结果写在步骤之后,状态和结果要描述清楚。

在提取时以功能为基础,扩展到字段校验,非功能测试,最终得到针对一项功能的完整测试方案。

6.1.1 业务功能

首先从功能测试开始,在这一步,要包含正常场景和异常场景。

正常场景是根据需求,此功能点提供给用户实现用户需要的操作流程。通常是用户最想实现的,最想得到的功能。这些正常场景也会出现在冒烟测试集中,作为测试要验证的主流程。

异常场景是与需求相违背的任何情况,数量上可能要比正常场景多,而且各种情况的组合也比较常见,需要细致思考,尽可能多的考虑全面。

6.1.2 字段校验

字段校验是基本的测试点,因为软件系统中经常有需要用户输入数据的地方,这些输入在需求中都会有相应的要求,通常可以从下面几个方面列举测试点:

长度:输入内容的长度限制。

数据类型:输入内容的数据类型要求。

必填项校验:此输入项是否为必填。

是否重复:此输入项在每一次操作时是否可以重复。例如有的系统对于用户名要求使用手机号码,这时就是不可重复。如果手机号码作为用户的基本信息中的一个,那可能是可以重复的。

隐性需求:需求中没有明确提出,但是根据行业,业务特点,可能需要考虑的需求。

约束条件:此功能点是否有约束条件。例如选择省市的下拉列表,城市的下拉列表要根据省份的结果,产生出城市的列表。

6.1.3 非功能测试点

非功能部分可以从下面几个方面进行分析。

界面:参考原型图

界面大小应该符合美学观点,感觉协调舒适,能吸引用户的注意力。

  • 按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。按钮的大小要与界面的大小和空间相协调。

  • 放置完控件后界面不应有很大的空缺位置。

  • 字体的大小要与界面的大小比例协调,通常使用宋体,字号要合适。

  • 前景与背景色搭配合理协调,反差不宜太大,最好少用深色,如大红、大绿等。如果使用其他颜色,主色要柔和,具有亲和力,杜绝刺目的颜色。

  • 界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方。

易用性

易用性由于主观性较强,所以以下通常作为参考标准。

  • 控件的名称易懂,用词准确,与同一界面上的其他控件易于区分。

  • 完成同一功能或任务的元素集中放置。

  • 应首先输入数据和重要信息的控件在Tab顺序中靠前,并放在窗口上较醒目的位置。

  • 默认按钮要支持“回车”即选操作。

  • 选择常用功能或数值作为默认值。

  • 复选框、单选按钮、列表框、下拉列表框的内容或条目多的时候按选择概率的高低或字母顺序排序。

  • 复选框或单选按钮有默认选项。

  • 界面空间较小时使用下拉列表框而不用单选按钮。

  • 选项条目较少时使用单选按钮,相反使用下拉列表框。

  • 专业性强的软件要使用相关的专业术语,通用性界面则提倡使用通用性术语。

  • 对可能给用户带来损失的操作最好支持可逆性处理。

  • 对可能造成等待时间较长的操作应该提供取消功能,并显示操作的状态。

  • 根据需要,程序自动过滤输入的空格。

兼容性

软件兼容性测试检查软件之间是否能够正确地交互和共享信息。

向后兼容(Backward Compatible):是指可以使用软件的未来版本;
向前兼容(Forward Compatible):是指可以使用软件的以前版本。

软件系统运行的平台由各种考虑因素构成,例如:操作系统,数据库,中间件,浏览器,语言,分辨率等,这些考虑因素的每一个选择都可以组合为一个测试平台,但是要测试所有选择的全组合可能是一个艰巨的任务,在开始兼容性测试任务之前,需要对所有可能的考虑因素组合等价划分,使其成为可以控制的范围,并根据市场占有率筛选主流选择进行组合,每一个组合即为一个测试用例组合。

以Web系统的兼容性测试举例:

操作系统:Windows 7,Windows 10,Windows 11,macOS,Ubuntu

浏览器:IE,Chrome,Edge,FireFox,Opera,Safari

语言:en,chs,cht

分辨率:1024x768,1440x900,1920x1080,1920x1440,2560x1600

组合测试用例数目:5x6x3x5=450种,但尚未考虑32位/64位、其它操作系统、浏览器、语言和分辨率等。

可以根据市场占有率进行筛选,并且后面会介绍正交试验法进一步减少组合的数目。

安全性

功能验证
功能验证是采用软件测试当中的黑盒测试方法,对涉及安全的软件功能,如:用户管理模块,权限管理模块,加密系统,认证系统等进行测试,主要验证上述功能是否有效,具体方法可使用黑盒测试方法。

漏洞扫描
安全漏洞扫描通常都是借助于特定的漏洞扫描器完成的。漏洞扫描器是一种自动检测远程或本地主机安全性弱点的程序。通过使用漏洞扫描器,系统管理员能够发现所维护信息系统存在的安全漏洞,从而在保护信息系统网络安全中做到“有的放矢”,及时修补漏洞。

模拟攻击实验
对于安全测试来说,模拟攻击测试是一组特殊的黑盒测试案例,例如:冒充,重演,消息篡改,服务拒绝,内部攻击,外部攻击,陷阱,木马等。

侦听技术
侦听技术实际上是在数据通信或数据交互过程,对数据进行截取分析的过程。

帐号和口令
对主机或系统上用户强制进行口令复杂度。检查系统是否使用默认管理员帐号。检查在系统中是否存在可疑或与系统无关的帐号。检查系统用户是否有口令最短和口令长度要求。检查系统用户是否有密码过期策略。

性能

性能测试是一种用于确定系统在某个给定工作负载条件下的响应时间、吞吐量、可靠性和可伸缩性的测试方法,更正式的说明是为评估测试项目在给定的时间和其他资源限制内完成其指定功能的程度而进行的测试类型。

在提炼测试点时要查找出需求规格说明书中以及常识性的对于性能的需求。后面有专门的性能测试课程进行研究。

6.1.4 评审

测试功能点的评审,由测试主讲,先介绍系统,模块。检查的过程中重点看是否有遗漏,功能、步骤、结果编写是否正确,是否有优化建议等。

6.1.5 练习

车辆管理系统注册、登录功能提取测试点。