开篇:润墨网以专业的文秘视角,为您筛选了一篇计算机软件测试技术与深度开发应用探讨范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:本文主要对软件测试的目的、用例以及测试方法进行了分析,并探讨了计算机软件深度开发应用,希望给我们的工作起到一定指导作用。
关键词:计算机软件;软件测试;软件开发;应用软件
中图分类号:TP311 文献标识码:A 文章编号:1007-9599 (2012) 20-0000-02
1 软件测试概述
1.1 软件测试的目的。G.J.Myers在1979年发表的《软件测试之艺术》中对软件测试进行了定义,这也是后来人们所认同并遵守的一个理念:程序测试是为了发现错误而执行程序的过程,换句话说软件测试的主要作用在于发现出存在于程序之中的错误,而不是对软件无错误进行证明。因此,发现至今没有被发现的错误将是软件测试成功的最重要标准之一。但是bug是随着时间和条件的不同而出现的,这就使得在真正意义上我们是无法证明程序绝对正确的。
1.2 软件测试用例。在对软件进行测试的过程中,软件测试用例是核心,也是我们软件测试成功的基础,因此,对于测试用例的设计属于整个测试工作中最有挑战性的工作之一。一般来说,它包含了测试输入数据、对步骤进行执行以及与之对应的预期输出这三部分。在软件测试中,软件测试用例的作用主要体现在:对测试的实施进行指导;对测试数据的规划进行准备;帮助完成测试脚本/设计规格说明书的编写;对测试结果度量基准进行评估;分析缺陷的标准。
1.3 软件测试的方法。软件测试中,我们使用的方法有很多种,而通过不同的较多对这些方法进行划分也将得到不同的结果,比如;动态测试和静态测试、人工测试及自动化测试、白盒测试及黑盒测试等。限于篇幅,我们仅以白盒测试及黑盒测试为例进行分析。
(1)黑盒测试。黑盒测试也被我们称之为功能测试,其主要是利用测试来对每一功能是否能够被正常使用进行检测。在测试的过程中,我们将测试当做一个不可以打开的黑盒,完全不考虑其内部的特性及内部结构,只是在程序的接口测试。
黑盒测试方法是根据用户角度,从输入和输出的关系来进行测试的,因此,如果外部特性本身就存在问题或者规格说明书的规定存在着不足,使用黑盒测试方法是不能够发现这些问题的。具体来说,黑盒测试法主要测试的错误有:功能遗漏或者不正确;界面存在的错误;性能存在的错误;数据库访问出错;初始化及终止错误等。
此外黑盒测试中只有利用穷举法把所有有可能的输入都当做测试情况才可能将程序中所有的错误查出。因此,我们不仅仅要对合法的输入进行测试,还要对不合法的输入进行测试,基于此,所谓的完全测试是不可能实现的,实际的工作中我们多使用针对性测试,这主要是通过测试案例的制订来指导测试的实施,进而确保有组织、按步骤、有计划的进行软件测试。
在黑盒测试中,我们要做到能够加以量化,只有这样才能对软件质量进行保障,上文中提到的测试用例就是软件测试行为量化的一个方法。一般在黑盒测试中,测试用例设计的方法主要有:边界值分析法、等价类划分法、因果图法、错误推测法、正交试验设计法、判定表驱动法、功能图法等。
(2)白盒测试。白盒测试也被称之为逻辑驱动测试或者结构测试,相对于黑盒测试,它属于根据程序内部结构对程序进行测试,经过白盒测试,我们一般检测的内容是程序内部的动作是否符合设计规格说明书的规定,也就是检测程序每一条通路工作的过程中是否按照预期的方式进行。这种方式是把被测的程序当作被打开的盒子,而我们则是依据其内部结构进行测试用例的选择,然后测试程序全部的逻辑路径,并通过不同的点对程序状态进行检查,判断其是否和预期状态一致。
2 计算机软件深度开发应用
在上个世纪50年代到60年代,我们主要是通过手工方式进行大型系统软件的开发,这种方式不仅容易出错,而且生产效率也比较低,很难满足我们的需求,导致了“软件危机”。针对这一情况,北大西洋公约组织于1968年提出了软件工程的概念。
软件工程大体上经历了程序设计、软件、软件工程这三个时代,其中软件工程学的主要作用在于通过当代的科学理论及技术对软件开进行指导,进而实现以较少投资实现较高软件质量的目的。它既属于边缘学科,又属于综合性学科,在软件工程学中包含了计算机科学、人体工程学、管理学、系统工程学、经济学以及心理学等。
2.1 软件开发中的三个阶段。通过软件工程这种方式对软件进行生产,其过程和建筑工程以及机械工程有很大的相似性,好比一个建筑工程自开始到最后往往会经历设计、施工以及验收这三个阶段,而软件产品的生产中也存在着三个阶段:定义、开发以及维护。
当然,在建筑工程及软件的开发阶段也存在着一些不同,比如,建筑工程的设计蓝图一旦形成之后,在其后续的流程中将不会有回溯问题,而在软件开发工程中,每一个步骤都有可能经历一次或多次的修改及适应回溯问题。再如,在软件的交付以后,依然面临着运行维护的问题,这一点和建筑工程也有所不同。
2.2 应用软件开发方法。针对一些较大的应用软件,比如大型仿真训练软件、计算机辅助设计软件等,是很难一人完成的,需要多人的共同配合。因此,为了确保应用软件的质量,我们应依据软件工程的原则及思路,采用合理的方法和依据,组织软件人员一致的、协调的完成这一工作。当前的软件开发方法主要可以分为:生命周期法、原型化法以及自动形式的系统开发法。
(1)生命周期法。软件生命周期法主要是从时间的角度对软件定义、开发以及维护过程中的问题进行分解,使其成为几个小的阶段,在每个阶段开始及结束的时候都有非常严格的标准,这些标准是指在阶段结束的时候要交出质量比较高的文档。
在软件定义过程中,我们主要是确定软件开发总目标、工程可行性以及开发过程中应使用的策略及必须实现功能等。软件的定义又可以分为稳定定义、可行性研究以及需求的分析。
软件开发则是由总体设计、详细设计、编码以及测试这几个部分。其中前二者所欲系统设计阶段,后两个阶段则属于系统实现阶段。
至于系统的维护,则主要是保证软件能够长久的满足用户需求。
(2)原型化方法。但在实际的工作中,用户所提出的软件目标往往是概括性的,无法对输入、处理以及输出需求进行详细的描述,而我们工作人员也往往在这个阶段都还没有确定系统适用性、处理算法效果等,这种情况下,我们只有一边干一边对其进行认识,而原型化方法正是由这一思路提出的方法。
原型有三种形态:纸上原型、工作原型以及现有原型。其中纸上原型主要是利用纸张及墨水的模型对软件一些特征进行解释;至于工作原型则是在计算机上执行软件的一部分功能,帮助开发中及用户理解即将被开发的程序;而现有模型则是通过现成的,可运行的程序完成所需的功能,不过其中一部分是在新开发的基础上进行改善。
在利用原型法进行开发的过程中,主要可以分为可行性研究阶段、对系统基本要求进行确定的阶段、建造原始系统的阶段、开发人员及用户的评审阶段、开发人员的修改阶段。
(3)自动形式的系统开发方法。这种方法具有一个很明显的特点就是使用了4GT,即第四代技术,包含的比较多的软件开发工具,使用这种方法时,软件的开发者进需要对所要实现的内容进行详细说明即可,而不需要探索如何去实现,4GT软件工具将会依据系统的要求对规范进行确定,进而进行分析、自动设计及自动编码。限于篇幅这里不再对其详细分析。
3 结语
软件测试及软件开发是非常复杂的工作,涉及的内容和环节比较多,本文限于篇幅,仅对最重要的一些问题进行较为表面的探讨。因此,我们要想真正的做好这一工作,还需要加强自身的学习和探索。
参考文献
[1]杨小龙.基于软件质量的测试方法与分析[J].质量探索,2009,5.
[2]陈会霞,周利华.关于软件测试的浅议[J].中国测试技术,2010,4.