论文部分内容阅读
【摘 要】随着信息技术的逐步发展,计算机软件工程也实现了突飞猛进的发展趋势,不仅需要通过技术推进以实现软件行业的发展,同时也需要依照软件行业要求,实现软件开发系统的技术提升。软件行业的发展,需要对行业发展的阻碍因素分析,针对软件分析与设计方面的失误,制定良好的测试系统是应对软件行业发展障碍的方法。
【关键词】需求分析 测试分析 测试需求
引言:软件测试已受到越来越多的软件开发公司的重视,越来越多的软件开发人员投入到软件测试的行业中。如何保证软件测试的质量?如何适应软件测试行业的技术需求?如何有效的、从根本上的提高测试质量?这些都是我们所关心的问题。
一、软件测试概述
软件测试是有计划、有组织的,是保证软件质量的一种手段,它是软件工程中的一个非常重要的环节。因此,可以认为它是伴随软件工程的诞生而诞生的。伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试的最终目的是使产品更加完美。软件测试的目的是发现问题以及避免这些错误的发生。那么我们就应该知道软件测试的对象是什么?用什么方法测试?要确定在软件系统中需要测试什么?这也就是测试需求。
二、为什么要做测试需求分析
通过测试需求分析,可以把不直观的需求转变为直观的需求(用例图/活动图),使得测试范围可以度量(有多少功能点、功能项);使得独立的功能点其对应的所有的处理分支可以度量;使得该系统需要测试的業务场景可以度量。
通过测试需求分析,可以把不明确的需求转变为明确的需求,明确其功能点对应的输出、处理和输出。
通过测试需求分析,可以把不能度量的需求转变为可度量的需求,度量测试范围、度量处理分支、度量业务场景。
三、测试需求所包含的内容
测试需求阐述一个测试软件系统必须提供的功能和性能以及它所要考虑的限制条件,它是系统测试的基础。测试需求不仅仅针对于测试软件系统的质量,也应尽可能完整的描述系统预期的外部行为和用户可视化行为。通过测试需求的实现,能够逐渐完成软件系统的改进工作。
四、测试需求的分析方法
测试需求分析可以从以下方面入手:
(一)熟悉需求背景及商业目标,了解清楚项目发起的原因,是为了解决用户的什么问题;当前的解决方案是不是最优的,为什么会这样做?
(二)业务模型法:考虑本软件系统与外部系统的交互,划分系统边界,可以参考系统的架构和概要设计说明书。确定测试范围和关注点。系统的边界是测试的重点,特别需要关注边界交互时的数据交互。
(三)业务场景法:考虑用例的调用者;考虑每一个用例提供的服务是供哪些外部用例或者系统调用,找出所有的调用者。调用的前提、约束都要考虑。每一个调用都可以考虑成一个大的业务流程。考虑系统内部各个用例之间的交互,形成内部业务流程图。需要分析每个用例之间的约束关系、执行条件,组织出各种业务流程图。
(四)功能分解法
五、测试需求实例
软件测试需求是设计编写测试用例的依据,所以测试需求分析要尽可能的详细和精准,这样才能对测试用例的设计质量的帮助越大,使得测试人员对所要进行的测试内容了解的越清晰。详细的测试需求还是衡量测试覆盖率的重要指标,测试需求是计算测试覆盖的分母,没有详细的测试需求就无法有效的进行测试覆盖计算。
(一)测试任务概述要定义产品以及它所运行的环境、使用产品的用户、已知的限制和依赖。
(二)数据的一致性、正确性测试包括静态数据、动态数据、数据库、数据流图、数据字典。
(三)功能测试要求要详细列出与该特性相关的详细的功能需求。
(四)性能需求测试要求应包括测试精度、测试时间特性要求及适应性。
(五)运行测试要求应包括压力测试、用户界面测试、字体测试、按钮测试、窗口测试、按钮标题测试、页面标题测试、页面设置测试、编辑框测试、快捷键校验、导航条测试等。
(六)硬件接口,描述系统中软件和硬件的每个接口特性。
(七)软件接口,描述该产品与其他外部组件的链接,包括数据库、操作系统、工具、库和集成的商业组件。
(八)通信接口,描述与产品所使用的通信功能相关的需求,包括电子邮件、Web浏览器、网络通信标准或协议及电子表格等。定义相关的消息格式。
(九)安全性测试需求,应详尽的叙述与系统安全性、完整性或与私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。定义用户身份确认或授权需求。明确产品必须满足的安全性或保密性策略。
(十)文件传输测试应包括文件上传到FTP或Server服务器端后,系统是否会死机的测试;下载文件、上传文件成功与否反馈信息的测试;大量文件下载的测试;同时下载、上传多个文件的测试等。
(十一)数据导入导出测试应包括多条记录导入的测试、多个文件导入数据库的测试、导入文件名的测试、导入多条完全相同的基础数据的测试、导入非法数据是否有校验的测试等。
(十二)测试约束,这一部分描述安装测试,包括将系统安装运行的测试、浏览器版本的测试、运行前各个环境设置的测试、部分运行程序的文件被删除的测试等。
六、小结
通过上述探讨,可以看出,要实现高质量的测试需求分析,就必须对所测试的软件系统有综合情况的分析,才能够明确在测试中所需要遵循的测试规范,才能对测试目的有很好的把握。只有通过高质量的测试需求分析,才能够保障测试工作的高质量。对于软件项目而言,在测试中普遍存在着一些问题,虽然这些问题可能在测试需求中是隐含的,但是通常要在测试结果中有明确的体现,这是不利于软件测试的因素。而由于软件工程的工作环节不同,人员的工作理念也有所差异,这是需要在测试需求中考虑的问题,也是实现高质量测试需求的必要面对的问题。
基金项目:本文受2011年国家发改委信息安全专项项目 铁路控制信息网络综合视频监控系统产业化 资金支持
参考文献:
[1]吴秋月.谈应用软件开发过程中的一个瓶颈问题──需求分析[J]. 安徽教育学院学报(自然科学版). 1998(01)
[2]虞健飞,朱家元,张恒喜.数据仓库设计过程研究[J].计算机工程.2003(19)
[3]厉娟,李和飞.软件测试文档工程论述[J].电脑编程技巧与维护.2011(20)
作者简介:
张敏,1978年11月生,毕业于西安电子科技大学,现就职于通号通信信息集团有限公司。
【关键词】需求分析 测试分析 测试需求
引言:软件测试已受到越来越多的软件开发公司的重视,越来越多的软件开发人员投入到软件测试的行业中。如何保证软件测试的质量?如何适应软件测试行业的技术需求?如何有效的、从根本上的提高测试质量?这些都是我们所关心的问题。
一、软件测试概述
软件测试是有计划、有组织的,是保证软件质量的一种手段,它是软件工程中的一个非常重要的环节。因此,可以认为它是伴随软件工程的诞生而诞生的。伴随着软件复杂程度的增加、规模的增大,软件测试作为一种能够保证软件质量的有效手段,越来越受到人们的重视,软件测试的最终目的是使产品更加完美。软件测试的目的是发现问题以及避免这些错误的发生。那么我们就应该知道软件测试的对象是什么?用什么方法测试?要确定在软件系统中需要测试什么?这也就是测试需求。
二、为什么要做测试需求分析
通过测试需求分析,可以把不直观的需求转变为直观的需求(用例图/活动图),使得测试范围可以度量(有多少功能点、功能项);使得独立的功能点其对应的所有的处理分支可以度量;使得该系统需要测试的業务场景可以度量。
通过测试需求分析,可以把不明确的需求转变为明确的需求,明确其功能点对应的输出、处理和输出。
通过测试需求分析,可以把不能度量的需求转变为可度量的需求,度量测试范围、度量处理分支、度量业务场景。
三、测试需求所包含的内容
测试需求阐述一个测试软件系统必须提供的功能和性能以及它所要考虑的限制条件,它是系统测试的基础。测试需求不仅仅针对于测试软件系统的质量,也应尽可能完整的描述系统预期的外部行为和用户可视化行为。通过测试需求的实现,能够逐渐完成软件系统的改进工作。
四、测试需求的分析方法
测试需求分析可以从以下方面入手:
(一)熟悉需求背景及商业目标,了解清楚项目发起的原因,是为了解决用户的什么问题;当前的解决方案是不是最优的,为什么会这样做?
(二)业务模型法:考虑本软件系统与外部系统的交互,划分系统边界,可以参考系统的架构和概要设计说明书。确定测试范围和关注点。系统的边界是测试的重点,特别需要关注边界交互时的数据交互。
(三)业务场景法:考虑用例的调用者;考虑每一个用例提供的服务是供哪些外部用例或者系统调用,找出所有的调用者。调用的前提、约束都要考虑。每一个调用都可以考虑成一个大的业务流程。考虑系统内部各个用例之间的交互,形成内部业务流程图。需要分析每个用例之间的约束关系、执行条件,组织出各种业务流程图。
(四)功能分解法
五、测试需求实例
软件测试需求是设计编写测试用例的依据,所以测试需求分析要尽可能的详细和精准,这样才能对测试用例的设计质量的帮助越大,使得测试人员对所要进行的测试内容了解的越清晰。详细的测试需求还是衡量测试覆盖率的重要指标,测试需求是计算测试覆盖的分母,没有详细的测试需求就无法有效的进行测试覆盖计算。
(一)测试任务概述要定义产品以及它所运行的环境、使用产品的用户、已知的限制和依赖。
(二)数据的一致性、正确性测试包括静态数据、动态数据、数据库、数据流图、数据字典。
(三)功能测试要求要详细列出与该特性相关的详细的功能需求。
(四)性能需求测试要求应包括测试精度、测试时间特性要求及适应性。
(五)运行测试要求应包括压力测试、用户界面测试、字体测试、按钮测试、窗口测试、按钮标题测试、页面标题测试、页面设置测试、编辑框测试、快捷键校验、导航条测试等。
(六)硬件接口,描述系统中软件和硬件的每个接口特性。
(七)软件接口,描述该产品与其他外部组件的链接,包括数据库、操作系统、工具、库和集成的商业组件。
(八)通信接口,描述与产品所使用的通信功能相关的需求,包括电子邮件、Web浏览器、网络通信标准或协议及电子表格等。定义相关的消息格式。
(九)安全性测试需求,应详尽的叙述与系统安全性、完整性或与私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。定义用户身份确认或授权需求。明确产品必须满足的安全性或保密性策略。
(十)文件传输测试应包括文件上传到FTP或Server服务器端后,系统是否会死机的测试;下载文件、上传文件成功与否反馈信息的测试;大量文件下载的测试;同时下载、上传多个文件的测试等。
(十一)数据导入导出测试应包括多条记录导入的测试、多个文件导入数据库的测试、导入文件名的测试、导入多条完全相同的基础数据的测试、导入非法数据是否有校验的测试等。
(十二)测试约束,这一部分描述安装测试,包括将系统安装运行的测试、浏览器版本的测试、运行前各个环境设置的测试、部分运行程序的文件被删除的测试等。
六、小结
通过上述探讨,可以看出,要实现高质量的测试需求分析,就必须对所测试的软件系统有综合情况的分析,才能够明确在测试中所需要遵循的测试规范,才能对测试目的有很好的把握。只有通过高质量的测试需求分析,才能够保障测试工作的高质量。对于软件项目而言,在测试中普遍存在着一些问题,虽然这些问题可能在测试需求中是隐含的,但是通常要在测试结果中有明确的体现,这是不利于软件测试的因素。而由于软件工程的工作环节不同,人员的工作理念也有所差异,这是需要在测试需求中考虑的问题,也是实现高质量测试需求的必要面对的问题。
基金项目:本文受2011年国家发改委信息安全专项项目 铁路控制信息网络综合视频监控系统产业化 资金支持
参考文献:
[1]吴秋月.谈应用软件开发过程中的一个瓶颈问题──需求分析[J]. 安徽教育学院学报(自然科学版). 1998(01)
[2]虞健飞,朱家元,张恒喜.数据仓库设计过程研究[J].计算机工程.2003(19)
[3]厉娟,李和飞.软件测试文档工程论述[J].电脑编程技巧与维护.2011(20)
作者简介:
张敏,1978年11月生,毕业于西安电子科技大学,现就职于通号通信信息集团有限公司。