ST第一章基础概念
1.1程序由程序、数据、文档 测试对象
软件测试目的:发现尽可能多的软件缺陷,并期望通过改错把缺陷统统排除,提高软件质量
1.2 ST分类
1.2.1 方式分类
(1)静态测试 :不执行被测对象程序代码,阅读程序代码、文档资料 语法错误
(2)动态测试:执行被测程序代码,与预期结果之间是否存在差异,检验程序的正确性、可靠性、有效性
1.2.2 方法分类
1.黑、白、灰盒测试
黑盒:功能测试、数据驱动测试,功能是否能正常使用,不考虑程序的内部结构和内部特征
等价类划分:程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例。
输入条件规定学历可为:专科、本科、硕士、博士四种之一
边界值分析法:
程序的需求为:
1、姓名:1——20个字符,不能包含数字,不能为空
2、年龄:18——60之间的整数,不能为空
3、如果填写信息正确,给出提示信息,并在“注册信息”文本框中输入相应注册信息 “xxx,年龄”
根据以上的需求,进行数据分析如下:
错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
场景法:1、基本流(正确流):模拟用户正确的操作流程
目的:验证软件的业务流程和主要功能
2、备选流(错误流):模拟用户错误的操作流程
目的:验证软件的错误处理能力
白盒:结构测试、逻辑驱动测试,对象是源代码,花费大量人力物力要求高,只对重点部分进行白盒测试
代码检查法:看代码,主要包括:数据引用错误;数据声明错误;运算错误;比较错误;控制流程错误;接口错误;输入输出错误
走查: 能在代码中对错误进行精确定位,降低调试成本;可以发现成批的错误,便于一同得到修正。
同行评审的内容:
管理评审:对项目管理体系的适应性和管理活动的有效性进行评价。
技术评审:对产品以及各阶段的输出内容进行评估。
文档评审:包括需求评审(用户需求规格说明、产品需求说明、功能规格说明等),设计评审(软件总体设计规格说明、详细设计规格说明等),代码评审,质量验证评审(测试计划、测试用例)。
过程评审:通过对流程的控制,保证SQA组织定义的软件过程在项目中得到遵循,同时保证质量、保证方针能更快更好地执行。
静态结构分析法:不实际运行程序而通过词法分析、语法分析、控制流、数据流等技术对源码进行扫描分析
反汇编(Disassembly):把目标代码转为汇编代码的过程,也可以说是把机器语言转换为汇编语言代码、低级转高级的意思,常用于软件破解(例如找到它是如何注册的,从而解出它的注册码或者编写注册机)、外挂技术、病毒分析、逆向工程、软件汉化等领域。学习和理解反汇编语言对软件调试、漏洞分析、OS的内核原理及理解高级语言代码都有相当大的帮助,在此过程中我们可以领悟到软件作者的编程思想。总之一句话:软件一切神秘的运行机制全在反汇编代码里面。
- 动态调试工具
- OD、DEBUG、x64Dbg等
- 静态分析工具
- IDA Pro、C32Asm等
动态测试中的逻辑覆盖:
按照其对测试的有效程度,又将其划分为由弱到强的6种:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖。
https://blog.csdn.net/liujian619/article/details/45270813
1.2.3 阶段分析
(1)单元测试:对软件设计的最小单元进行正确性检验的测试工作,语法、格式、逻辑错误
(2)集成测试:将所有的软件单元按照概要设计说明书要求组装成系统,接口是否存在错误、整体功能有无错误、界面是否符合设计规范、性能是否满足用户需求
(3)系统测试:集成测试的软件,部署到较为复杂的计算机用户环境进行测试
(4)验收测试
1.2.4 类型分类
(1)功能测试(2)界面测试 友好、易用、合理、位置正确性(3)性能测试(4)强度测试 找出因资源不足或资源争用而导致的错误(5)压力测试 超负荷环境中,检验系统能否正常运行(6)安全测试 防止非法入侵的能力(7)兼容性测试 不同平台、工具软件或不同版本,软硬件兼容能力(8)安装测试 是否能正确安装、文件的各项设置是否有效、安装后是否影响计算机系统、卸载软件是否干净、卸载后是否影响计算机系统(9)文档测试 检查内部或外部文档的清晰性和准确性,针对用户的文档:需求说明、用户手册、安装手册,是否与实际存在差别,文档是否简单明了、相关技术术语是否解释清楚
1.3 ST模型
https://blog.csdn.net/u011409644/article/details/55509750
1.4 软件测试流程
制定测试计划→测试设计→ 测试的执行 →测试的分析总结
1.5 软件开发各个阶段的测试任务
需求分析阶段 →设计阶段 →实现阶段 →测试阶段→ 运行维护阶段