一、软件测试定义
通俗一点说就是一个找bug的过程,确定软件有没有多做,有没有少做。
(个人:测试就是,拿到产品前,对产品会有一个预期的结果,拿到产品后,查看实际结果与预期结果是否会有不同。)
二、软件测试的目的
1.找bug
2.评估软件质量
3.预防出现同样或类似的bug
三、软件生命周期
四、软件研发核心铁三角(三要素)
1.人员(组织;起关键作用)
2.过程(流程;起关键作用)
3.工具(为人员和过程服务,起辅助作用)
五、常见软件开发流程
1.瀑布模型
优点:简单高效
缺点:a.测试介入较晚;b.不适合需求频繁变更的项目;c.不适合大的项目
2.螺旋模型
优点:充分考虑风险,抗风险能力强
缺点:成本太高
适用范围:与生命财产相关的系统
3.敏捷开发
优点:a.迭代周期不长,比较好的改善用户满意度;b.以人为核心;c.可快速响应市场变化
缺点:对团队成员的素质和稳定性要求很高
六、常见的导致软件中存有缺陷的根源有:
1.缺乏有效的沟通,或者没有进行沟通
2.软件复杂度越来越高(软件危机的原因:软件系统复杂度提高)
3.编程错误
4.需求不断变更
5.时间压力(项目进度的压力)
6.缺乏文档的代码(不重视开发文档)
7.软件开发工具本身隐藏的问题(很少)
8.人员的自大
七、导致软件缺陷的两大主要原因
1.软件产品说明书 2.设计方案
八、解决软件危机的主要方法
1.软件工程 2.研究新的软件设计技术
九、软件缺陷的分类
1.遗漏:规定或预期的需求未体现在产品中
2.错误:未将规格说明正确实现
3.额外的实现:规格说明并未规定的需求被纳入产品,得到实现
十、缺陷的严重程度(严重性)
1.致命 2.严重 3.一般 4.提示
十一、缺陷的优先级
1.高 2.中 3.低
十二、软件缺陷跟踪过程需要用到的软件工具支撑
1.QC 2.Bugzilla 3.JIRA 4.禅道
十三、缺陷管理的目的
1.保证缺陷得到有效的跟踪和解决
2.获取正确的bug信息,用作缺陷分析和产品度量
3.保证信息的一致性
十四、缺陷管理基本流程(重要)
十五、SQA和测试的关系
软件质量由组织、流程和技术三方面决定
SQA从流程方面保证软件质量
测试从技术方面保证软件质量
只进行SQA活动或只进行测试活动不一定能产生好的软件质量
十六、软件质量模型:6个特性,27个子特性
1、功能性
适合性;准确性;互操作性;保密安全性;功能性的依从性。
2、可靠性
成熟性;容错性;易恢复性;可靠性的依从性。
3、易用性
易理解性;易学性;易操作性;吸引性;易用性的依从性。
4、效率
时间特性;资源利用性;效率的依从性。
5、维护性
易分析性;易改变性;稳定性;易测试性;维护性的依从性。
6、可移植性
适应性;易安装性;共存性;易替换性;可移植性的依从性。
十七、测试的基本对象
程序(软件)、文档、数据
十八、测试阶段划分
单元测试(Unit Testing),UT;
集成测试(Integration Tseting),IT;
系统测试(System Testing),ST;
十九、UT、IT、ST 的比较
1、测试方法不同
UT,属于白盒测试范畴
IT,属于灰盒测试范畴
ST,属于黑盒测试范畴
2、考察范围不同
UT,主要测试单元内部的数据结构、逻辑控制、异常处理等
IT,主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能
ST,主要测试整个系统相对于需求的符合度
3、评估基准不同
UT,评估基准主要是逻辑覆盖率
IT,评估基准主要是接口覆盖率
ST,评估基准主要是测试用例对需求规格的覆盖率
二十、测试过程阶段划分
计划、设计、实现、执行
二十一、回归测试
回归测试目的:
验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能
回归测试策略:
1、完全重复性测试
2、选择性重复测试
a. 覆盖修改法
b. 周边影响法
c. 指标达成法
二十二、验收测试
验收测试是以用户为主的测试
a测试:仿真环境,开发者在用户旁
β测试:真实环境,开发者不在测试现场
二十三、常见的测试过程模型:
1、瀑布模型
2、H模型(测试成为独立的流程,贯穿产品研发整个过程,与其它流程并发进行)
3、V模型(V模型 是 瀑布模型 的改进)
4、W模型(双V模型,将测试与开发对应起来,实现了测试设计与执行的分离)
V&V: 验证:(Verification),验证是否做了正确的事情;
确认:(Validation),确认是否把事情做正确了。
二十四、软件度量
软件度量的作用:理解、预测、评估、改进
四个基本度量项:规模(size)、工作量(effort)、进度(schedule)、质量_缺陷
二十五、测试方法
1、白盒测试:对系统的内部结构和工作原理有一个清楚的了解。清楚盒子内部的东西以及里面是如何运作的。
白盒测试常用的技术:
静态分析技术:控制流、信息流、数据流分析法
动态分析技术:逻辑覆盖率、程序插装
2、黑盒测试:关注于被测试软件的功能实现,而不是内部逻辑(对系统的内部结构、运作情况不清楚)。在黑盒测试中,被测试对象的内部结构、运作情况对测试人员是不可见的,测试人员对被测产品的验证主要是根据规格,验证其与规格的一致性
3、静态测试:不运行被测试的软件系统
4、动态测试:运行被测试的软件系统进行测试
5、人工测试:测试活动由人来完成的
6、自动化测试:用计算器程序来代替人的工作(机械的、重复多次的)(自动化不能取代手工测试)
二十六、静态分析技术
二十七、动态分析技术
---------------------
作者:Jodie_Rao
来源:CSDN
原文:https://blog.csdn.net/Rao_Juan/article/details/80807771
版权声明:本文为博主原创文章,转载请附上博文链接!