EastTech

首页 新随笔 管理

近期总结一下软件测试理论,提升自己和他人的知识、技能和测试思想。


一、软件开发生命周期

二、软件测试定义

三、软件测试目的

四、软件测试原则

五、软件测试对象

六、软件测试流程


  软件测试(Software Testing)是软件开发过程中一个非常重要的环节,近年来,软件测试工作受到越来越多公司的重视,因此了解和熟悉软件测试理论知识变的非常重要,而且对于从初级到中高级的转变有很关键的指导意义;

一、软件开发生命周期(Systems Development Life Cycle,SDLC)

     软件开发生命周期是指软件开发全部过程、活动和任务的结构框架,主要包括可行性分析与项目开发计划、需求分析、设计、编码、测试、发布维护等。当前软件开发方法主要包括结构化开发和统一过程开发。软件开发流程主要包括以下几方面:

1)可行性分析与项目开发计划

这个阶段主要确定软件开发的目标及其可行性,明确要解决的问题及解决办法,以及解决问题需要的费用、资源、时间。要进行问题定义、可行性分析,制定项目开发计划。

该阶段产生的文档主要有可行性分析报告(一般很少需要)和项目开发计划

2)需求分析

需求分析是明确软件系统要做什么,确定软件系统的功能、性能、数据、和界面等要求。

该阶段产生的文档有需求规格说明书

3)设计

设计分为概要设计和详细设计。

概要设计就是设计软件的结构,明确软件系统由那些模块组成,这些模块的层次结构、调用关系以及模块的功能,同时确定数据结构和数据库结构。

详细设计是对每个模块完成的功能进行具体的描述,把功能描述转变为精确地、结构化的过程描述,既该模块的控制结构或者说逻辑结构。

该阶段产生的文档有概要设计说明书、数据库设计说明书、接口设计、详细设计说明书等。

4)编码

编码就是把模块的控制结构转化为程序代码,该阶段需要编码规范

5)测试

测试是为了保证软件质量,该阶段产生的文档主要有软件测试计划、测试用例、软件测试报告

6)发布与维护

发布就是完成软件开关并已开发的软件系统安装到客户的服务器上,维护是为客户提供培训、故障排除以及所需的软件升级。

该阶段产生的文档主要有项目开发总结报告、用户手册、应用软件清单、源代码清单、维护文档

二、软件测试定义

    广义上讲,测试是指软件产品生存周期内所有的检查、评审和确认活动。如:设计评审、系统测试。

    狭义上讲,测试是对软件产品质量的检验和评价。它一方面检查软件产品质量中存在的质量问题,同时对产品质量进行客观的评价。

    软件测试是以提高软件质量为目的,在规定的资源、时间、费用条件下对软件系统进行审核,运行和评估,验证软件系统是否满足需求,从而尽早发现软件,确保其得以修复,并对软件质量进行评估。

三、软件测试目的

     软件测试的目的是根据开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去运行程序。在软件投入使用前,尽早、尽可能多的发现软件中的错误。是保证软件质量的关键步骤;

1、测试是为了发现程序中的错误而执行程序的过程;

2、好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;

3、成功的测试是发现了迄今为止尚未发现的错误的测试;

4、测试的目标是程序中的错误,从心理学角度分析,由程序编写者自己测试是不恰当的。因此,在综合测试阶段通常由其他人员组成测试小组来完成测试工作;

5、测试绝不是证明程序是正确的,即使经过最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中;

6、设计测试的目标是想以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷;

四、软件测试原则

1、所有的软件测试都应追溯到用户需求;

2、应当把“尽早地和不断低进行软件测试”作为软件测试者的座右铭;

3、完全测试是不可能的,测试需要终止;

4、测试无法显示软件潜在的缺陷;

5、充分注意测试中的集群现象,80%的bug出现在20%的代码中;

6、尽量避免测试的随意性;

五、软件测试对象:

    软件是由文档、数据以及程序组成的,软件测试应该是对软件形成过程的文档、数据以及程序进行的测试,而不仅仅是对程序的测试。60%的软件错误并不是程序错误,而是分析和设计错误,因此,做好软件需求和设计阶段的测试工作是相当重要的,测试概念应该扩大化,提倡软件全生命周期测试的概念;

六、软件测试流程:

测试需求阶段:测试人员了解项目需求,包括项目需求规格说明、功能结构及模块划分等;

测试计划:测试人员根据软件需求制定《需求计划》;

测试实施:测试组安排和协调测试设备、环境等准备工作;

测试执行:测试组按照测试计划、测试用例要求对待测试环境进行有效性测试、集成测试、兼容性测试、安全性测试、压力测试、性能测试等;

测试报告:测试活动结束后,测试人员对测试结果进行汇总,编写并提交《测试分析报告》,对测试未通过的待测软件,测试人员汇总并向项目组提交测试错误报告(bug);

软件缺陷:软件开发组对测试错误报告进行确认,对有争议的问题可由上一级技术负责人确认和仲裁;项目开发组针对测试测试报告进行逐项修改,修改完成后再将待测软件及错误修改情况提交测试组进行回归测试;

-----------------------------------

文章部分内容来自网络,如有侵权,请联系作者删除!

posted on 2017-02-18 00:08  EastTech  阅读(537)  评论(0编辑  收藏  举报