软件测试基础教程
测试的基本概念
- 01
测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。
测试的分类
- 01
系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。
- 02
确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。从测试原理上分为:白盒测试、黑盒测试和灰盒测试。
- 03
白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。
- 04
黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。黑盒测试方法主要有等价类划分、边界值分析、因—果图、错误推测法。等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法。
- 05
灰盒测试:灰盒测试就像黑盒测试一样是通过用户界面测试,但是测试人员已经有所了解该软件或某种软件功能的源代码程序具体是怎样设计的。甚至于还读过部分源代码。因此测试人员可以有真对性地进行某种确定的条件/功能的测试。从软件特性上分为功能测试和性能测试。
- 06
功能测试:是指为了确保软件系统功能实现的正确性,完整性和其他特性而进行的测试。性能测试:是指为了评估软件系统的性能状况,和预测软件系统性能趋势而进行的测试和分析。
项目测试的规划
- 01
项目测试启动:项目立项后,在测试配置库中创建项目。
- 02
测试计划:系统详细设计后,制定测试计划,准备测试资源。
- 03
设计测试用例,主要是与业务相关的测试用例。
- 04
实施功能模块测试,搭建运行或开发环境,采用功能模块测试表的方式,开发人员在功能模块测试表中更新进度状态,测试人员在该表中描述测试进度。形成测试错误列表,该表对每个错误都有相应的测试记录与之链接,在测试记录中,详细描述错误的情况。在测试记录中还要包括修正信息和验证信息。
- 05
错误关闭后,测试人员维护测试记录表和更新测试用例库和问题库,作为经验积累。
- 06
项目在结项时,测试人员进行项目完工验收测试,填写项目测试报告。该测试报告可作为用户验收的输入工件。
功能测试方法与内容
- 01
数据输入测试:向系统输入数据或输入数据库操作命令时,一般是测试系统对数据库中数据操作的过程。
- 02
目录路径测试:测试系统中规定的路径要求,更改路径,检查系统的是否可以正确运行及系统的排错功能。测试时,根据系统设计说明书(详细设计)或通过对程序源代码的熟悉,找出系统运行过程中指定的路径或在运行过程中,需要使用者选择路径的地方。特意更改路径(选择正确的路径、选择另外的路径、输入不存在的路径)。检查系统是否具有路径上的容错性和灵活性。比如,原则上在程序中,最好不要写绝对路径,另外可以提供配置路径的对话框,若输入了非法路径,系统有无提示等。
- 03
数据操作测试:包括数据操作测试和用户界面操作的测试。
- 04
工具条和快捷键测试:在功能界面测试时,对系统菜单中定义的快捷键和菜单工具条中的工具按钮要测试。主要是有效性和一致性测试。有效性:检查是否有效,界面有无反应。一致性:定义或提示的信息是否与实际完成的功能一致。
- 05
按钮顺序测试:在功能界面上,不按照设计上或习惯上的操作顺序点击功能按钮,看系统有什么反应;多次、反复点击某一按钮,看系统有什么反应。主要是测试系统的控制、校验和容错能力。 业务逻辑顺序:不按照系统的正常业务逻辑、流程操作,来测试系统是否控制了业务流程的顺序。
- 06
按钮有效性控制测试:主要是测试当不具备条件或无实际意义的情况下,按钮的“Enabled”属性。比如:某一业务未处理,下一环节的功能按钮则应变灰(不可用)。逐条显示数据记录,当游标已经指到了最后一条时,“下一条”和“末记录”按钮则应变灰等。
- 07
同时刻操作测试:对于删除、修改、增加数据和一些业务功能,进行多客户端同时刻操作测试,看系统有什么反应。
- 08
附件压力测试:对于有发送、上传、下载、邮件等功能的系统,选取大的文件,进行测试,来检查系统的界面效果和稳定性,看是否会死机或长时间无任何反应等。
- 09
数据处理输出测试:主要测试对数据的排序、条件查询是否按照输入的条件或要求输出了正确的数据。 打印输出:测试打印功能是否能够正常打印出报表,打印设置后,是否能按照设置的要求打印。
- 10
WEB测试:基于WEB方式的应用,对于一些提交表单的页面,通过多次点击“back”键,来测试系统的处理情况。对于有保存数据功能的页面,多次点击“保存”,来测试系统的处理情况。