软件测试介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件测评知识介绍
CONTENTS
如何开展软件测评?
2
开展软件测评存在哪些问题?
3
目录
为什么要开展软件测评?
1
为什么要开展软件测评?
——软件测试依据
——软件测试必要性分析
——软件测试意义
政策依据
✓《国家电子政务工程建设项目管理暂行办法》(国家发改委令第55号)
“国家电子政务工程建设项目验收条件之一即“建设项目确定的网络、应用、安全等主体工程和配套设施,经测试和试运行合格。”
✓《中华人民共和国政府采购法实施条例》(中华人民共和国国务院令第658号)第四十一条“大型或者复杂的政府采购项目,应当邀请国家认可的质量检测机构参加验收工作。”
✓《国家电子政务工程项目应用软件第三方测试规范》
标准由国家电子政务外网管理中心于2017年3月正式发布,2017年5月1日实施
目前,该标准已经在多个部委、政府机构、央企等项目建设单位推广
标准分别从测试类别、流程、内容、方法等方面规范了国家基础信息资源库、国家重点业务信息系统、电子政务相关支撑体系等政务信息化工程建设项目以及地方电子政务项目中应用软件的第三方测试工作
必要性分析
1985年
加拿大的Therac-25放射治疗机由于软件Bug而发生故障,向患者提供了致命的辐射剂量,造成3人死亡,3人严重受伤
中国航空公司空中客车A300因软件故障而坠毁,造成264人无辜死亡
1994年
一个软件问题导致美国一家大型银行823名客户的银行账户被记入9.2亿
美元
1996年
一个软件漏洞导致12亿美元的军事卫星发射失败,这是历史上最昂贵的事故
美国的F-35战斗机成为软件漏洞的受害者,导致其无法正确检测目标
东方航空官网和App出现系统漏洞,多条国内航线售价以正常价格的一折以下,多条国内航线的头等舱、商务舱往返机票最低仅需90元。
1999年
2015年
2018年
拼多多网站出现重大BUG。只要
领取面值为100元的优惠券,就可以只花不到五毛钱充值100元话费,还可通过注册新账号的方式无限制领券。此次直接导致拼多多被盗取数千万元平台优惠券
2019年
为什么要进行软件测试?
一个软件漏洞的存在,可能带来更大的隐患
通过软件测试,能够提高软件质量,降低软件故障带来损失的风险
第三方测试必要性
客观性
专业性
全面性第三方测试以合同的形式制约了测试方,使得它与开发方或开发人员存在某种“对立”的关系,所以它不会刻意维护开发方或开发人员的利益,保证了测试工作在一开始就具有客观性
客观性保证
第三方测试不同于开发方和用户自测试,第三方测试的目的就是为尽量多地发现程序中的错误而运行程序的过程,可以更多的发现问题。
全面性保证
第三方独立的测试机构目前只有国家级和省级两级,一般为各省软件测评中心。但也有些企业成立的软件测试机构符合ISO17025质量管理体系要求,成为国家级或省级软件测评中心。信息应用系统工程一般具有较强的行业背景,第三方测试机构有相同或相近的测试经验,有利于高质量完成测试。
专业性保证
《国家电子政务工程项目应用软件第三方测试规范》也指出:
为确保第三方测试的客观公正性,提倡第三方测试应由项目建设单位或项目审批部门委托,而不是由项目开发单位委托
软件测试意义
确认软件质量,满足用户需求通过开展软件测试工作,寻找、定位软件bug,经由开发商修复优化,提高软件开发生命周期的完整性、软件功能的稳定性,确认软件满足用户的功能需求
为系统初验、终验提供依据为系统初步验收和终验提供技术依据,以满足国家、省级有关部门对项目验收的相关要求,测试过程期间产生的测试报告等文档信息可以为验收依据,便于客观评价服务效果
为开发者提供信息为软件开发人员或程序经理提供测试回馈信息,以精准软件开发风险评估。
为系统投产提供保障通过实施应用系统测试,发现和找出系统中未满足委托方要求并且影响投产使用的开发设计缺陷,对被测试应用系统进行评估,为系统投产提供基本保证。
如何开展软件测评?
——软件测试基础知识介绍
——软件测试体系建设
软件测试基础知识介绍
软件测试概述
软件测试定义及测试对象
定义:软件测试是对软件形成过程的文档、数据以及程序进行测试,以发现错误,对软件
质量进行评估
测试对象:根据软件定义,软件包括程序,数据和文档,所以软件测试并不仅仅是程序测
试,软件测试应该贯穿整个软件生命周期中
软件测试目的
以用户角度:希望软件测试暴露软件中隐藏的错误和缺陷,以考虑是否接受产品
以软件开发者角度:希望测试成为表明软件产品中不存在错误的过程,验证被测软件已正
确的实现了用户的需求,确立人们对软件质量的信心
软件测试原则
所有的软件测试都应追溯到用户需求
应尽早地和不断地进行软件测试
完全测试是不可能的,测试需要终止
测试无法显示软件潜在的缺陷
软件测试分类
按照开发阶段分类
•单元测试:针对软件测试的最小单位——程序模块进行正确性检
验的测试工作
•集成测试:在单元测试的基础上,将所有的程序模块进行有序递增的
测试
•确认测试:检测与证实软件是否满足软件需求规格说明书中的要求•系统测试:为验证和确认系统是否达到原始目标,对集成的硬件和软
件进行测试
•验收测试:按照项目任务书、合同或者约定的验收依据文档对整个
系统进行测试与评审
按照测试实施组织分类
•开发方测试:也叫验证测试或者α
测试,由开发方通过检测和提供
客观依据,证实软件的实现是否
满足规定的需求
•用户测试:在用户的应用环境下,
由用户通过运行和使用软件,检
测与核实软件实现是否符合用户
预期的要求
•第三方测试:由在技术、管理和
财务上与开发方和用户方都相对
独立的组织进行的软件测试
按照测试技术分类
•白盒测试:即针对程序代码进行测
试,通过程序内部结构的分析、检
测来寻找问题
•黑盒测试:在软件界面进行测试,
通过软件的外部表现来发现其缺陷
和错误
•灰盒测试:介于白盒与黑盒测试之
间,关注输出对输入的正确性,同
时也关注内部表现