分享

软件测试概述

 人生好比斗地主 2023-07-19 发布于重庆

一、软件测试的发展

软件测试的发展也经历了一个漫长的过程,软件测试是在20世纪50年代才慢慢提出的一种概念因为在这之前,软件规模比较小,出现的问题也少,都是在开发人员边开发边修改的情况下进行的。开发人员都是靠推断或者猜想有什么问题,然后去修改,这样就能解决问题。但是随着软件技术的发展,软件的规模越来越大,它出现的问题也越来越多,这个时候如果还是靠开发人员修改或推断,已经没有办法解决所有问题了。于是人们就开始思考,怎么来解决软件开发过程中出现的问题?促进了软件思想的发展。

到了20世纪50年代,一直到后面的80年代,很多专家都提出了自己关于软件测试的观点,软件思想出现百家争鸣现象。到了1983年,国际组织定义了软件测试的目的和意义,它规定软件测试是使用人工或自动手段,运行或者测定某个特定系统的过程。

二、软件测试的目的

1、对于软件开发来说,软件测试通过找到的问题缺陷帮助开发人员找到开发过程中存在的问题,包括软件开发的模式、工具、技术等方面存在的问题与不足,预防下次缺陷的产生。

2、对于软件测试来说,使用最少的人力、物力、时间等找到软件中隐藏的缺陷,保证软件的质量,也为以后软件测试积累丰富的经验。

3、对于客户需求来说,软件测试能够检验软件是否符合客户需求,对软件质量进行评估和度量,为客户评审软件提供有力的依据。

三、软件测试的分类

1、按照测试阶段分类

单元测试:验证软件单元是否符合软件需求与设计,检查单元代码是不是有语法错误,能不能通过编译,能不能成功运行。开发人员自测。

●冒烟测试:冒烟测试这个思想最初的来源电路板测试,电路板做好以后,首先会加电测试,如果电路板没有冒烟,说明电路板整体是没有问题的。如果电路板冒烟了就表示电路板是有问题的。这样的话就没必要进行下一步测试了。需要重新修改或设计。后来这种理念被引入到软件测试当中。是软件构建版本建立后,对系统的基本功能进行简单的测试,这种测试重点验证的是程序的主要功能,没有通过就要返回给开发人员进行修正,而不会对具体功能进行深入测试。测试通过了就可以进行下一步的测试。

●集成测试:冒烟测试之后,将已经测试过的软件单元组合在一起,测试它们之间的接口,用于验证软件是否满足设计需求。开发软件有时候会将软件划分成很多单元块,那这些单元块没有办法组合在一起,也是不行的。

系统测试:将经过测试的软件在实际环境中运行,并与其他系统的成分(如数据库、硬件和操作人员等)组合在一起进行测试。

验收测::主要是对软件产品说明进行验证,逐行逐字的按照说明书的描述对软件产品进行测试,确保其符合客户的各项要求。

2、按照测试技术分类

黑盒测试:把软件(程序)当作一个有输入与输出的黑匣子,它把程序当作一个输入域到输出域的映射,只要输入的数据能输出预期的结果即可,不必关心程序内部是怎么样实现的。

白盒测试:测试人员了解软件程序的逻辑结构、路径与运行过程,在测试时,按照程序的执行路径得出结果。白盒测试就是把软件(程序)当作一个透明的盒子,测试人员清楚的知道从输入到输出的每一步过程。

3、按照软件质量特性分类

●功能测试:测试软件的功能是否满足客户的需求,包括准确性、易用性、适合性、互操作性等。

●性能测试:测试软件的性能是否满足客户的需求,性能测试包括负载测试、压力测试、兼容性测试、可移植性测试和健壮性测试等。

4、按照自动化程度分类

●手工测试:测试人员一条一条的执行代码完成测试工作。费时费力且很验证保证测试效果。

自动化测试:借助脚本、自动化测试工具等完成相应的测试工作,它也需要人工的参与,但是它可以将要执行的测试代码或流程写成脚本,然后设置测试工具去执行脚本完成整个测试工作。

5、按照测试项目分类

●界面类测试:验证软件界面是否符合客户需求。包括界面布局是不是美观,按钮是不是齐全,文字大小是不是合适,风格是不是符合用户的需求等等。换句话说,就是眼睛能看到的,感觉上能感觉到的。

●安全性测试:试软件在没有授权的内部或外部用户的攻击或恶意破坏时如何进行处理,是否能保证软件与数据的安全。

●文档测试:以需求分析、软件设计、用户手册、安装手册为主,主要验证文档说明与实际软件之间是否存在差异。

●功能测试:测试软件的功能是否满足客户的需求,包括准确性、易用性、适合性、互操作性等。

●性能测试:测试软件的性能是否满足客户的需求,性能测试包括负载测试、压力测试、兼容性测试、可移植性测试和健壮性测试等。

6、其他分类

α测试:软件上线之前进行的版本测试。由开发人员和测试人员或者用户协助进行测试。测试人员记录使用过程中出现的错误与问题,整个测试过程是可控的。

β测试:软件上线之后进行的版本测试。由用户在使用过程中发现错误与问题并进行记录,然后反馈给开发人员进行修复。

回归测试:对修改后的程序重新进行测试确认原有的缺陷已经消除并且没有引入新的缺陷,这个重新测试的过程就叫作回归测试。

●随机测试:没有测试用例、检查列表、脚本或指令的测试,它主要是根据测试人员的经验对软件进行功能和性能抽查。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多