APP下载

计算机软件测试技术研究

2017-09-11但晓铭

西部论丛 2017年1期
关键词:测试技术计算机软件问题

但晓铭

摘 要:计算机软件测试是软件开发和应用过程中必不可少的重要环节,是确保软件质量的重要手段。因此对计算机软件测试技术进行分析研究对于软件的开发和应用有着重要的指导意义。本文首先对计算机软件的概念和目的等基本概念进行了概述,然后对现有的计算机软件测试的技术和测试流程进行了简述,最后对计算机软件测试的现状及存在的问题进行了分析,期望能够为计算软件测试提供一定的参考。

关键词:计算机软件;测试技术;问题

目前各个行业大量大型的软件系统的开发和使用量越来越大,用户对软件质量的要求越来越高,为了避免软件使用中出现各种问题和减小软件的缺陷,软件测试在软件开发过程中成为了一项不可或缺的关键环节。在软件发布和投入使用之前,对其进行测试,是确保软件的质量重要手段。计算机软件测试存在于软件开发的整个过程,因此对计算机软件测试技术进行研究和分析对于软件的开发应用具有非常重要的指导意义。

1软件测试技术的概述

1.1软件测试的定义

软件测试指的是在在软件设计编程完成后,对软件的各项性能进行测试,检验软件的设计、介绍和编码等是否存在错误和问题,检验软件能够完成预设的功能,进而对软件的功能、性能、可靠性和安全性等各方面做出客观的评价。

1.2软件测试的目的

软件测试的目的就是及时的发现软件开发中存在的问题,并予以改正,从而提高软件开发的效率和软件的质量,一方面满足软件使用者的根本需求,另一方面避免系统开发者时间和财力上的浪费。

2软件测试的原则

2.1及时性原则

软件测试应该尽早及时的进行,从能不能满足用户的需求为最初的出发点开始软件的测试审验,避免应测试不及时引起重新返工的失误。

2.2全程性测试原则

全程性测试原则就是要求软件测试应用于软件开发设计的整个过程,而不单单只在程序完成之后。这是因为软件系统比较复杂,软件的开发不是一个独立的单一阶段性的工作,而是包含有多个环节的开发过程,每一个环节都是非常重要的,都有可能出现错误或存在安全隐患,进而或大或小的影響最终的软件质量。

2.3第三方测试原则

第三方测试原则指的是软件开发程序员不能自己检查自己的程序,要由开发组以外的人员进行测试,这样获得的测试结果才会更加的客观。这是因为程序员可能由于自身对问题理解的偏差而引起的错误,在检查过程中如果程序员没有得到正确的理解,是难以发现自身的错误的。

2.4测试用例的合理性

测试用例的合理性指的是在设计测试用例时要涉及合法的输入条件和不合法的输入条件,合法的输入条件则是指能核实软件的正常的输入条件,而不合法的条件则是指一些异常的和极端的条件,这样才能实现软件测试的完全性, 发现更多的错误。

3软件测试技术策略

根据测试技术是否需要程序运行可将测试技术划分为静态和动态测试,根据测试技术能否查找源代码可将测试技术划分为白盒测试和黑盒测试。

3.1静态测试

静态测试也称为静态分析,指的是在不运行程序的情况下,人工的对软件程序进行核实和分析,包括软件代码审查和走查和相关的技术评审,静态测试能够在软件开发的整个全过程中执行。

3.2动态测试

动态测试指的是通过一定的方式运行软件进行测试,基于测试用例对实际的输出和预期的输出进行对比分析,从而检查和分析程序的运行状态和结果。

3.3白盒测试

白盒测试是程序员通过分析软件程序的内部结构,设计合理的测试用例,然后对软件的内部结构和路径进行详细的检查,也被称为结构测试。盒子指代的是待测试软件,白盒的意思就是盒子是可视的,过程中测试者熟悉盒子内部的东西以及内部的运行状况,白盒测试技术能够全面的了解程序内部的工作过程并获得测试结果,对该技术来说最重要的就是软件测试用例的设计。

3.4黑盒测试

与白盒测试相反,黑盒测试技术不需要了解程序的内部结构,侧重的指软件的外部结构,是根据软件的需求规格说明书,对程序的每一个功能进行检验测试的分析方法,又称为功能测试。为了实现黑盒测试行为的量化,常常采用测试用例,其设计方法主要分为等价类划分法、错误推断法、正交试验设计法和边界值划分法等。

4软件测试的流程

4.1测试计划的制定

测试进行前,为了保证时间的充足和高质量的测试的完成,必须制定测试计划,就是基于项目开发测试需求制定的具有指导意义的计划安排,通常情况下由负责测试的工作人员进行编写。工作内容包括对需求规格说明书进行详细的分析,为每个测试基元制定相应的测试技术,形成完整系统的测试计划。

4.2测试用例的设计

在软件的测试过程中,测试技术常常需要测试用例的设计,测试用例是决定测试成功与否的关键和基础,因此在测试前设计合理的设计用例是必不可少的。主要的工作包括测试输入数据、步骤执行以及预期输出等,能够对测试的执行和测试结果的规划等具有一定的指导作用。

4.3测试的执行

测试的执行阶段主要包括三部分,分别是初测期、细测期和回归测试期。初测的主要目的是测试软件的主要功能,进而排除主要的障碍,为细测奠定良好的基础。细测则就是根据制定的测试计划和测试用例,对软件的各类功能、性能等等进行逐个详细的测试,有助于发现各种类型的、程度不一的错误和问题。回归测试指的是在初测和细测问题解决,系统稳定后,对已经纠正的错误的进一步复查,确保没有出现新的问题。

5软件测试的现状

与国外的测试技术的发展相比,我国的测试技术起步较晚,大多采用试探性的测试技术,缺乏系统化和产品化的测试技术,测试人员的规模较少,进而引起以下几个方面的不足。

5.1软件测试文档管理不统一

文档是软件测试重要组成部分,是各种测试和结果分析的重要依据。然而在实际的测量中,文档的水平各不相同,很多文档的内容都不够丰富、没有规范的要求,而且变更也不及时,这些都严重影响了文档作用的发挥。

5.2软件测试滞后

通常情况下,大多数的软件测试工作都安排在编码完成后,这种滞后性的软件测试会导致测试人员对需求规格和整套系统的设计不能充分的把握和了解,此外,测试进行的较晚会导致测试时间的不充足,从而限制了软件的全面性测试,而导致一些隐患问题。

6总结

计算机普及率的增加,促进了软件开发应用行业的发展,同时使得于软件质量密切相关的软件测试成为了研究的热点和难点问题。本文就计算机软件开发的概念、目的和原则进行了详细的介绍,此后对当前的测试技术策略进行了总结和说明,同时对测试的现状和存在的问题进行了分析,测试的主要问题表现在测试的文档管理不够、测试的介入延迟以及测试技术的自动化程度不高。因此,在未来的软件开发过程中,将测试工作的介入时间提前化、文档管理规范化以及测试技术自动化是工作的重点,进而更加高效的为软件的开发服务,提高效益。

参考文献:

[1]罗凯.计算机软件测试技术分析[J].电子技术于软件工程,2014,5,91.

[2]靳红勤.计算机软件测试技术分析[J].2015,26,206-207.

猜你喜欢

测试技术计算机软件问题
刍议计算机软件中的安全漏洞检测技术
计算机软件技术的不可靠性探析
计算机软件应用及其发展趋势研究
大数据测试技术的特点及前景研究
现代测试技术在机械类本科测试技术教学中的渗透
常用电化学研究方法及技术
演员出“问题”,电影怎么办(聊天室)
计算机软件安全检测技术
韩媒称中俄冷对朝鲜“问题”货船
“问题”干部“回炉”再造