新闻详情

News

一文带你彻底了解软件测试几大常见问题
行业动态
2022-09-28

数字化时代,是“软件定义一切”的时代,软件已然成为人类社会基础设施的一部分,与个人生活、社会民生、国家发展高度融合。随着软件产业的快速发展,因软件存在的缺陷而导致的网络安全问题越来越严重,CNVD 已收录各类安全漏洞信息超16.6万条,为了保证软件产品的最终质量,在软件开发的过程中,需要对软件产品进行系统测试。


本文就开发单位普遍关注的几个软件测试问题,汇总解答如下:

1、什么是软件测试?

2、为什么需要软件测试?

3、软件测试的基本流程是什么?

4、软件测试的方法有哪些?


1、什么是软件测试?

软件测试是在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,通过对软件功能、性能、安全、可靠性、兼容性等多个层面进行测试,提出优化建议,出具第三方专业权威的测试报告。包括软件功能测试、软件性能测试、应用安全测试、软件验收测试、代码测试、国产平台软件适配测试等。同时,测试是以评价一个程序或者系统属性为目标的活动,测试是对软件质量的度量和评估,以验证软件的质量满足用户的需求的程度,为用户选择和接收软件提供有力依据。


2、为什么需要软件测试?

国家法律法规

《国家政务信息化项目建设管理办法》

第十六条

项目应当采用安全可靠的软硬件产品。在项目报批阶段,要对产品的安全可靠情况进行说明。项目软硬件产品的安全可靠情况,项目密码应用和安全审查情况,以及硬件设备和新建数据中心能源利用效率情况是项目验收的重要内容。

《国家发展改革委关于加强和完善国家电子政务工程建设管理的意见》

七、保障电子政务项目安全可控

(三)积极采用安全可控信息技术和产品。在项目建设中,从技术方案到招标采购,尤其是核心网络设备、基础软硬件产品、信息安全装备等关键技术和产品的采用,均应达到安全可控要求。项目软硬件产品的采用情况将作为项目验收的重要内容。

《国家网络空间安全战略》

第七条 夯实网络安全基础

坚持创新驱动发展,尽快在核心技术上取得突破。重视软件安全,加快安全可信产品推广应用。

 软件测试价值体现

软件测试通过软件的质量、性能、效率做出合理的评估,保证软件的安全性;验证软件需求和功能是否得到了完整的实现,让用户对产品有更好的体验;能够及时准确报告测试期间发现的问题,并协助开发单位进行问题确认及整改,提升软件质量;对系统进行必要的回归测试,提供准确客观的独立测试报告,以全面反映系统建设成果质量状况。


3、软件测试的基本流程是什么?

需求分析:分析需求,验证其正确性、合理性;细化需求,根据需求去提炼测试点。

测试计划:确定测试范围、目的、目标、测试人员、测试工具、时间、测试环境。

测试设计/开发:通过参考需求文档(原型图)、概要设计、详细设计等文档,来编写测试用例,用例编写完成之后会进行评审。

测试执行:开发人员已经提交了代码,执行测试,提交BUG。

测试报告:对测试情况进行分析和总结,并确认是否可以上线。


4、软件测试的方法有哪些?

1)静态测试

指通过软件的静态性测试(即人工推断或计算机辅助测试)测试程序中运算方式、算法的正确性,进而完成测试过程,此类测试的优点在于能够消耗较短时间、较少资源,能够较为明显地发现错误,适用范围较大适用于较大型的软件测试。

2)动态测试

主要依赖程序的运用,检测软件中动态行为是否缺失、软件运行效果是否良好。其最为明显的特征即为进行动态测试时软件为运转状态。动态测试过程中可包括两类因素,即被测试软件与测试中所需数据,两类因素决定动态测试正确展开、有效展开。

3)黑盒测试

通过数据输入观察数据输出,检查软件内部功能是否正常。测试展开时,数据输入软件中,等待数据输出。

4)白盒测试

相对于黑盒测试而言具有一定透明性,测试过程中常将其与软件内部结构协同展开分析。其中,判定测试是最为主要的测试程序结构之一,此类测试方式针对程序中各类型的代码进行覆盖式检测,覆盖范围较广,适用于多类型程序。