软件测试被定义为是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。下面我给大家分享软件技术论文2000字,大家快来跟我一起欣赏吧。
软件测试技术研究
摘 要:软件测试是软件工程范畴的一项重要工作,与软件质量密切相关。本文就软件测试的概念、分类和方法等几个方面进行了论述。
关键词:软件测试;黑盒测试;白盒测试
中图分类号:TP311.52
软件测试是软件生产过程中的一个重要环节,是伴随着软件的产生而发展的,它并不是不能正常运行的软件的专利,而是为了发现所有软件缺陷而执行程序的过程。软件测试贯穿于软件开发的到投入使用的各个过程中,不同阶段的测试手段各不相同,测试成为软件产品质量控制和管理的重要手段之一。大量资料表明,软件测试的工作量占软件开发总工作量的40%以上,测试成本也占总成本的30%―50%。
1 软件测试的目标和重要性
1.1 软件测试的定义
看待软件测试的角度不同,软件测试的定义也各不相同。总的说来,软件测试就是利用测试工具按照预先设定好的方案和流程对产品进行功能和性能测试,甚至根据需要重新编写测试代码,对测试过程中可能出现的问题进行分析和评估。它是帮助识别开发完成的计算机软件的正确度、完全度和质量的软件过程,是保证软件质量的重要内容。
1.2 软件测试的目标
软件测试的正确定义是“为了发现程序中的错误而执行程序的过程”。而测试的目的决定了如何去组织测试。测试的目标是什么?G.Myers曾给出了关于测试的一些规则,这些规则可以看作是软件测试的目标:
(1)软件测试并不是为了验证软件的正确性,而是为了发现错误而执行程序的过程。(2)好的测试方案是尽可能发现目前尚未发现的错误的测试方案。(3)成功有效的测试是发现了至今尚未发现的错误的测试。从以上规则可以看出,测试是以查找错误为中心,和人们通常想象的“测试是为了验证程序的正确功能”,“成功的测试是没有发现错误的测试”等是完全相反的。所以,近年来,正确软件测试目标如下:(1)软件测试并不仅仅是为了查找出软件的错误,而是要通过进一步分析错误产生的原因和错误的发展趋势,发现一些可以通过测试避免的开发风险;(2)通过测试能够帮助测试人员设计出适合该软件更加有效的测试方法,进一步提高测试效率,缩短测试实践,降低测试费用;(3)结果完全正确的测试也是有价值的,是软件质量的一种评价,但并不是测试正确就说明该软件没有错误,随着使用的深入,功能的扩充等会逐步暴露出更多的问题,实践证明,完全没有错误的软件世间难求。
1.3 软件测试主要包括
(1)正确性和精确性测试:如果软件的运行结果不正确和不精确,那么会给用户带来很大的麻烦,甚至造成不可估量的损失,因此是保证软件质量的最重要因素。(2)容错性测试:容错性测试是在认可错误的情况下进行的测试,是检查软件在异常条件运行,是否具有防护性和能否自我恢复。容错性测试能确保系统不发生无法意料的事故,从而提高软件的安全性和可靠性。(3)性能与效率测试:用户都希望软件的运行速度更高一些,并且占用的资源更少些,性能与效率测试主要是优化软件的算法,数据结构和代码组织来提高软件的性能和效率。(4)易用性测试:易用性测试是测试软件的易用程度,就像一个常用扳手工具,拿到就能明白怎么去使用,因此易用性测试没有一个量化的指标,主观性较强。在平时使用中,当用户不能正确使用软件中的某个功能时,大多数人首先会通过各种方式学习、请教,或者向产品支持部门打电话,还有一部分用户会查阅用户手册。通常认为,用户不通过翻阅用户手册就能使用的软件易用性较好。(5)文档测试:文档测试主要检查文档的正确性、完备性和可理解性。
1.4 软件测试的基本原则
(1)尽早并不断地进行软件测试;(2)程序员或程序设计机构避免测试自己的软件;(3)测试前应当设置合理的测试用例,测试用例的设计不仅要有合法的测试数据,也要有非法的测试数据;(4)对程序修改之后要进行回归测试;(5)妥善保留测试计划、严格按照计划测试,排除测试的随意性,全部测试用例、出错统计和最终分析报告,并对每一个测试结果做全面检查。
1.5 软件测试的地位
软件的开发过程包括需求分析、设计、实现和测试四个阶段。软件测试在软件生命周期中占重要地位,是软件交付用户使用前保证软件质量的重要手段。在系统发布之前,从客户的需求出发,尽早发现问题,修改的成本越低,破坏性也越小。一旦系统投产后发现问题,其危害性被成倍放大,甚至会给双方造成不可估量的损失。
2 软件测试方法
按照不同的分类方法,软件测试可以分为多种类型。
2.1 从是否需要执行被测试软件的角度分类
静态测试:是指不需要实际运行软件,主要对软件的编程格式、程序逻辑结构等方面进行测试。静态测试是通过对源程序进行语法检查,静态结构分析、代码质量等方面找出缺陷和可疑之处,例如变量定义和生命周期检查、模块接口的正确性、是否允许递归、程序逻辑和结构审查等。
动态测试:通常的上机运行软件而进行的测试,这种方法是使程序有控制地运行,并从多种角度观察程序的行为,以发现其中的错误。在软件维护阶段,当修改软件后,除了对修改部分的软件进行常规的测试外,还应对软件的其他部分进行回归测试,所谓回归测试是指全部或部分地重复已做过的测试,它主要检查软件的修改是否在软件的未修改部分引入了新的错误。
2.2 从是否针对软件结构与算法的角度分为
白盒测试,主要是对软件的逻辑结构进行的测试。白盒测试要求测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试,不需测试软件产品的功能。测试过程是基于覆盖全部代码、分支、路径和条件。白盒测试是指在知道产品内部工作过程,通过设置测试用例来检测产品内部动作是否按照规格说明书的规定正确进行,检验程序是否都能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑覆盖、基本路径测试等。
黑盒测试:指测试来检测每个功能是否可以正常使用。执行严格的测试,通过对整个软件或某些软件功能,但不检查程序的源代码还是非常清楚的了解该软件的源代码程序具体如何设计。通过输入测试数据,并通过分析的结果输出到测试人员了解软件是如何工作的。在测试中,主要的功能是用来检查是否正确的程序或缺少的功能,用户界面是正确的,错误的数据结构或外部数据库访问错误,性能是正确与否,程序是否有初始化和终止错误的存在。
2.3 从测试的不同阶段分类
单元测试:指的是对每一个工作单元进行测试,了解其运行结果是否符合我们的预期。它对测试人员的要求比较高,要求测试人员对程序代码比较熟悉;一般由程序员自己编完某个单元后,先自我检查通过后,再将测试代码交给测试人员进行审核,如果发现缺陷,原开发者应当及时修正程序,这样可以尽快的发现程序中存在的错误,及时修正以提高程序开发的效率。
集成测试:是在单元测试的基础上,测试再将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。也就是说,在集成测试之前,单元测试已经完成,集成测试中所使用的对象,已经是经过单元测试的软件单元。
系统测试:是将已经确认的计算机软件和硬件设备、网络和外围设备等元素组合在一起,对已经集成好的系统进行测试,找出所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案.它的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性。
验收测试:也称为交付测试,完成了功能和系统测试后、产品发布之前所进行的测试活动,它是技术测试的最后一个阶段。
总之,随着软件开发和测试技术的不断发展,测试方法也越来越多样化,针对性更强;选择合适的软件测试方法可以让我们事半功倍。
参考文献:
[1]张永梅.软件测试技术研究[J].测试技术学报,2002,6.
[2]刘继华.软件测试技术的研究进展[J].微计算机信息,2012,10.
[3]瞿莉丽.浅析软件测试技术[J].硅谷,2010,4.
点击下页还有更多>>>软件技术论文2000字
软件测试在软件企业中的作用和意义
检索文献
一. 维普数据库检索
(一) 第一篇文章
【题目】:软件测试及其在软件质量控制中的作用
【作者】:马英 驻西飞公司军代表室
【摘要】:软件质量是软件的生命,实施软件工程则是软件质量的保证。软件测试是软件 工程的重要组成部分,直接影响软件产品的质量及其开发周期的长短。本文对软件测试 的基本概念及技术作简要介绍,结合某重点型号软件工程,就软件测试的组织实施作具 体探析。
【检索方法】:
1. 登陆首页,在快速检索中,选[M=题名或关键字],输入:软件测试,按检索按钮
【检索表达式】: 题名或关键词=软件测试*年=2000-2006
【检索结果】:共找到 989条
2. 在[M=题名或关键字]中,输入:作用,在结果中搜索
检索表达式:(题名或关键词=软件测试*年=2000-2006)*(((Keyword_C=(作 用)+Title_C=(作用)))*Year=2000-2006)
【检索结果】:共找到 3条
二. 中文期刊全文数据库
(一) 第二篇文章
【题目】:软件园建立软件开发测试中心的思考
【作者】:汤伟;
【中文摘要】:软件开发测试中心可以提供高质量的环境和工具帮助软件企业规范管 理,提升产品质量,通过CMM评级,增强企业的竞争力,对软件园为软件企业提供增值 服务是非常关键的。目前,国内11家软件园大部分都有开发测试中心,也都在发择重 要作用。但开发测试中心投资规模普遍较大,如果前期考虑不够充分,很容易
【检索方法】:
1. 登陆http://www.cnki.net, 进入“中文期刊全文数据库”
2. 在搜索范围中选中:教育与社会科学 与 电子技术及信息科学
3. 在搜索条中,选篇名,输入:软件测试,按搜索按钮
【搜索结果】:共有记录1210条
4. 选中在结果中搜索,选中关键词,输入:企业,按搜索按钮
【搜索结果】:共有记录8条
(二)
三. ACM美国计算机学会全文数据库
(一) 第三篇文章
【题目】:Developing an object-oriented software testing and maintenance environment
【作者】:David Kung, Jerry Gao, Pei Hsia, Yasufumi Toyoshima, Chris Chen, Young-Si Kim, Young-Kee Song
【英文摘要】:The object-oriented (OO) paradigm is rapidly gaining acceptance in the software industry. However, the powerful features of this new paradigm also introduce a new set of OO software testing and maintenance problems. The pioneering work in identifying these new problems includes [7, 10-12, 14, 16, 18]. The problems can be summarized as: 1) the understanding problem; 2) the complex interdependency problem; 3) the object state behavior testing problem; and 4) the tool support problem. Detailed ...
【检索方法】:
1. 登入ACM美国计算机学会全文数据库,
2. 在sort result by 框中选title,在搜索框中输入:software company test。按search按钮
【搜索结果】:Results 1 - 20 of 200
评价和结论
【评价】:以上三篇文章都符合了软件测试这一主题,也都是从各大论文、期刊数据库中检索出来的文献,其中两篇涉及了软件测试的作用,一篇涉及软件企业。总体来说基本符合课题检索的要求。但若是以课题作为论题,进行论文写作时,这些文献相对较少,要检索既满足课题又丰富的文献资料却相当的困难。
【总结】:为了提高检索精度。应该采用多次检索,逐层检索(逐层筛选)的方法。但是又要提高文献的数量,就必须多方面搜集。例如:从不同的数据库中搜集;利用多种检索手段,包括:数据库检索,图书馆查阅、搜索引擎检索、相关课题检索等。
对检索过程中运用课本知识的总结和建议
【总结】:
对于课本上的知识对于我检索过程中的帮助主要体现在:
1. 课本罗列了常用的检索方法——即告诉我怎么找
2. 课本上告诉我常用的几大数据库检索系统——即告诉我去哪里找
3. 检索效率的几大因素
1) 检索的查全率
2) 检索的查准率
运用以上知识,再加上我对这个课题本身的了解,进行检索,这样的检索效率,比以前没学过这门课之前检索的效率高出很多。
【建议】:信息检索课的目的在于:提高学生应用网络进行信息收集的能力。因此有必要告诉学生这门课的实用性。并且应该以即学即用为宜。
android论文参考文献「范文」
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。以下是关于android论文参考文献,希望对大家有帮助!
[1] 李凤银. 电子公文中多人签名的设计与实现[J]. 计算机应用研究. 2005(06)
[2] 倪红军. 基于Android系统的数据存储访问机制研究[J]. 计算机技术与发展. 2013(06)
[3] 圣伟. 加入Android阵营--记首届亚太地区Android技术大会[J]. 程序员. 2009(06)
[4] 金晨辉,孙莹. AES密码算法S盒的线性冗余研究[J]. 电子学报. 2004(04)
[5] 尹京花,王华军. 基于Android开发的数据存储[J]. 数字通信. 2012(06)
[6] 叶晓静,黄俊伟. 基于Android系统的多媒体播放器解决方案[J]. 现代电子技术. 2011(24)
[7] 秦凯. Android开源社区应用项目开发的效率研究[D]. 华南理工大学 2012
[8] 李钰. 基于Android系统的行人检测设计[D]. 天津大学 2012
[9] 黄鑫. 基于Android的大学生个人课程助理系统的设计与实现[D]. 厦门大学 2014
[10] 祝忠方. 基于Android的移动互联终端的设计和实现[D]. 北方工业大学 2014
[11] 房鑫鑫. Android恶意软件实现及检测研究[D]. 南京邮电大学 2013
[12] 张嘉宾. Android应用的安全性研究[D]. 北京邮电大学 2013
[13] 黄莹. 基于Android平台智能手机多方通话软件测试系统的研究与实现[D]. 华中师范大学 2013
[14] 赵朋飞. 智能手机操作系统Google Android分析[J]. 科技视界. 2011(02)
[15] 刘仙艳. 移动终端开放平台-Android[J]. 信息通信技术. 2011(04)
[16] 姚昱旻,刘卫国. Android的架构与应用开发研究[J]. 计算机系统应用. 2008(11)
[17] 陈昱,江兰帆. 基于Google Android平台的移动开发研究[J]. 福建电脑. 2008(11)
[18] 梁雪梅,盛红岩,周熙. RSA算法体制研究[J]. 计算机安全. 2006(12)
[19] 易红军,佘名高. MD5算法与数字签名[J]. 计算机与数字工程. 2006(05)
[20] 王尚平,王育民,张亚玲. 基于DSA及RSA的证实数字签名方案[J]. 软件学报. 2003(03)
[21] 王雯娟,黄振杰,郝艳华. 一个高效的基于证书数字签名方案[J]. 计算机工程与应用. 2011(06)
[22] 程桂花,齐学梅,罗永龙. AES算法中的多项式模运算及其性能分析[J]. 计算机技术与发展. 2010(09)
[23] 叶炳发,孟小华. Android图形系统的分析与移植[J]. 电信科学. 2010(02)
[24] 吕兴凤,姜誉. 计算机密码学中的加密技术研究进展[J]. 信息网络安全. 2009(04)
[1] 苏祥. 基于耦合锯齿时空混沌的虚拟光学加密系统[D]. 南京邮电大学 2014
[2] 高继明. 数字图书馆中的.用户管理问题研究[D]. 西北师范大学 2006
[3] 贾蕤铭. 基于Android系统的动态密钥管理方案的研究及实现[D]. 西北师范大学 2014
[4] 郑亚红. 无线传感器网络中的密钥管理方案研究[D]. 西北师范大学 2014
[5] 慕莹莹. 无线传感器网络密钥管理方案[D]. 西北师范大学 2013
[6] 蔡维. 基于RSA的可截取签名方案的研究[D]. 西北师范大学 2013
[7] 陈志强. 基于质心漂移聚类算法的LBS隐私保护研究[D]. 南京邮电大学 2014
[8] 陈凯. 融入隐私保护的特征选择算法研究[D]. 南京邮电大学 2014
[9] 王筱娟. Ad-hoc网络密钥管理方案的相关研究[D]. 西北师范大学 2011
[10] 于晓君. 基于MSC Pool的VLR备份技术的研究与实现[D]. 南京邮电大学 2014
[11] 周静岚. 云存储数据隐私保护机制的研究[D]. 南京邮电大学 2014
[12] 秦树东. 音频数字水印算法的研究[D]. 南京邮电大学 2014
[13] 孙佳男. 即开型电子彩票发行方案的相关研究[D]. 西北师范大学 2011
[14] 孙龙. 可否认加密与可否认协议[D]. 西北师范大学 2011
[15] 樊睿. 门限代理签名方案的研究[D]. 西北师范大学 2008
[16] 易玮. 可搜索加密研究[D]. 西北师范大学 2009
[17] 俞惠芳. 基于自认证的签密体制的研究[D]. 西北师范大学 2009
[18] 王会歌. 基于无证书公钥密码体制的若干签名方案的研究[D]. 西北师范大学 2009
[19] 贾续涵. PKI中证书撤销机制和具有前向安全性的数字签名研究[D]. 西北师范大学 2007
[20] 宋福英. 电子政务系统若干安全问题的研究[D]. 西北师范大学 2007
[21] 庞雅丽. 基于统计的中文新闻网页分类技术研究[D]. 西北师范大学 2007
[22] 刘军龙. 可截取签名体制研究[D]. 西北师范大学 2007
[23] 于成尊. 代理签名与多银行电子现金系统研究[D]. 西北师范大学 2007
[24] 蓝才会. 具有特殊性质的签密相关研究[D]. 西北师范大学 2008
[25] 左为平. 指定验证人代理签名体制研究[D]. 西北师范大学 2008