1.软件测试的重要性
没有经过软件测试或测试覆盖不全面的软件产品是不健全、存在风险、质量得不到保证的。
存在问题的软件导致的后果,小到软件功能无法使用进而影响人们的日常生活;严重一些的会影响社会的秩序,造成财产的损失;致命的甚至会危及到人们的生命安全。
2.软件测试的定义
2.1Myers认为:
软件测试是为了发现错误而执行程序的过程
*1979 年 G.J.Myers 出版了一本《软件测试之艺术》现在仍被证明为经典的著作*
2.2 IEEE:
使用人工或者工具(视频演示)测试某个系统的过程,其目的在检验它是否满足需求或者是弄清预期结果与是合计结果之间的差别
电气电子工程师协会( IEEE,全称是Institute of Electrical and Electronics Engineers)是一个国际性的电子技术与信息科学工程师的协会,是目前全球最大的非营利性专业技术学会
2.3从软件质量保证的角度看:
1.软件测试是一种重要的软件质量保证活动。
2.测试过程中的活动包括“分析”软件和“运行”软件。
3.也有人认为软件测试就是在软件投入运行前,对软件需求规格、设计规格说明和编码的最终复审,是软件质量保证的关键步骤
3.软件测试的原则
1 所有测试都应基于用户需求
2 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件
3 穷举测试是不可能的
4 缺陷发现的越早,解决的代价就越少
5 测试的杀虫剂怪事
6 测试能证明软件中有错误,而不能证明没有错误
7 充分注意测试中的群集现象
8 软件测试必须要有预期结果
9 避免测试自己的软件
10 注意保留测试设计和说明文档,并注意测试设计的可重用性
4. 什么是软件质量
质量就是一个实体的所有特性满足明显的或隐含需求的成度
4.1 软件质量体现在哪些方面?
.ISO:国际标准化组织
ISO9126质量模型:软件质量模型的6大特性和27个子特性
6大特性与27个子特性
**功能性:**适合性,准确性,互操作性,保密安全性,功能的依从性
**可靠性:**成熟性,容错性,易恢复性,可靠性的依从性
**易用性:**易理解性,易学性,易操作性,吸引性,易用性的依从性
**效率:**时间特性,资源利用性,效率的依从性
**维护性:**易分析性,易改变性,稳定性,易测试性,维护性的依从性
**可移植性:**适应性,易安装性,共存性,易替换性,可移植性的依从性
5 质量管理(QM)
质量管理(QM)分为质量保证(QA)与质量控制(QC)
质量保证(QA):
事先的质量保证活动,以预防为主,通过制定相应的体系,流程,规范降低出错几率,通过控制流程,检查输出来确保品质是否满足于标准。
质量控制(QC):
事后的质量检验活动,以测试为主,期望并发现错误,以体系要求运作,通过具体实施来检验产品来确保符合规定
质量保证(QA)与质量控制(QC)的主要区别:
QC是保证产品质量符合规定,QA是建立体系并确保体系按要求运作.
6 软件测试的过程
单元测试
针对软件的最小组成单位进行的测试,属于最低级别的测试
集成测试
在单元测试的基础上,将经过单元测试的模块按照设计要求进行组装在一起进行的测试
系统测试
将以集成好的软件系统,作为整个计算机系统的一个元素,与其他硬件,外设,软件,数据人员等结合实际运行环境下进行的测试,目的是与需求规格说明书进行比较,发现与需求不符合的地方
验收测试
是软件测试在部署之前执行的最后一个测试操作,以客户为主
验收测试的策略
Alpha测试(α测试)-内测:
由一个或者多个用户在开发环境下进行的测试,程序员与测试员不参加
Beta测试(β测试)-公测:
由一个或者多个用户在实际环境下进行的测试,程序员与测试员不参加,测试环境与接受标准由各测试员自己决定
UAT测试-用户验收测试:
UAT测试是由相关的用户或独立的测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。
来源:CSDN
作者:许渣渣的咸鱼生活
链接:https://blog.csdn.net/weixin_46056151/article/details/104377827