首页 > 代码库 > 软件测试基础学习笔记
软件测试基础学习笔记
LR学习笔记
I. 软件测试基础
1. 软件的概念:程序与文档的结合。
2. 软件缺陷的概念:指计算机的硬件、软件系统或应用软件出现的错误,即为BUG。
1) 硬件错误原因:设计错误和硬件部件老化失效
2) 软件错误原因:软件开发企业设计错误引发
3. 软件生命周期的概念:从软件需求的定义、产生直到被废弃的生命周期。
II. 软件测试的定义
1. 测试:包含硬件测试和软件测试
2. 测试用例:针对需求规格说明书中相关功能描述和系统实现而设计的,用于测试输入、执行条件和预期输出,测试用例是执行软件测试的最小实体。
3. 测试环境:
1) 硬件环境:(PC、笔记本电脑、服务器、小型机、大型机等)
2) 软件环境(操作系统、web应用服务器(tomcat、WebLogic、IIS、WebSphere等)、数据库、其他软件(办公软件和杀毒软件等)、浏览器)
3) 网络环境(局域网、城域网或因特网)
4. 搭建测试环境需要注意的:
1) 尽量模拟用户的真实场景(网络应用、软件、硬件使用环境)
2) 干净的环境
3) 没有病毒的影响
4) 独立的测试环境(测试与研发分开)
III. 软件测试的分类
1. 黑盒测试(功能测试、数据驱动测试、基于规格说明书的测试)
2. 白盒测试(结构测试、逻辑驱动测试、基于程序本身的测试)
方法:
1) 语句覆盖:程序中每个语句至少执行一次
2) 判定覆盖:程序中每个判定至少为真或假各一次
3) 条件覆盖:使得判定中每个条件获得各种可能的结果
4) 判定/条件覆盖:同时满足判断和条件覆盖
5) 条件组合覆盖:使得每个判定中条件的各种可能组合至少出现一次
3. 静态测试:指不运行被测软件,只是静态的检查程序代码、界面或者文档中可能存在的错误的过程。
4. 动态测试:实际运行被测软件,输入相应的测试数据,实际检查输出结果。
5. 单元测试:单元测试是测试过程中的最小粒度,它在执行过程中紧密的依照程序框架对产品的函数和模块进行测试,包含入口和出口的参数,输入和输出的信息,错误处理信息,部分边界数值测试。
6. 集成测试:是组长软件的系统测试技术,按设计要求把通过单元测试的各个模块组装在一起之后,进行综合测试以便发现与接口有关的各种错误。包含方法:非增量式集成和增量式集成。
7. 系统测试:在集成测试之后进行系统测试,完全采用黑盒测试技术。
8. 验收测试:系统测试完成之后,可以对软件进行最后的确认测试。
1) α测试:指软件开发公司组织内部人员模拟各类用户行为对即将面世软件产品(α版本)进行测试
2) β测试:经过α测试调整的软件版本为β版本,软件开发公司组织各方面的典型用户在日常工作中实际使用β版本。
9. 回归测试:对软件新的版本测试时,重复执行上一个版本测试时使用的测试用例
10. 冒烟测试:对象是每一个新编译的需要正视测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。
11. 随机测试:在测试中,数据是随机产生的。
IV. 软件测试流程
1. 测试计划:描述所要完成的测试工作,包括被测试项目的背景、目标、方式、资源、进度安排、测试组织,以及与测试有关的风险等方面。
2. 测试设计:设计测试用例和测试数据,保证测试用例完全覆盖测试需求
1) 测试用例分类:
· 功能测试用例:包含功能测试、健壮性测试、可靠性测试
· 安全测试用例
· 用户界面测试用例
· 安装/反安装测试用例
· 集成测试用例(包含接口测试)
· 性能测试用例(包含性能测试、负载测试、压力测试、容量测试、并发测试、配置测试、可靠性测试、失败测试)
2) 测试用例设计方法
· 等价类划分方法
概念:黑盒测试方法,把数目极多的测试数据划分为若干等价类:有效等价类和无效等价类。
划分等价类的原则:
按区间划分
按数值划分
按数值集合划分
按限制条件或规则划分
边界值分析法
· 边界值分析法
概念:根据边界情况设计测试用例
选择测试用例原则:
如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据。
如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多一个、比最小个数少一个的数作为测试数据。
如果程序的规格说明给出的数据域或输出域是有序集合(例如序表、顺序文件等),则应选择集合的第一个和最后一个元素作为测试用例。
如果程序用了一个内部结构,应该选取这个内部数据结构的边界值作为测试用例。
· 因果图表法
概念:因果图表法最终生成的就是判定表。
测试用例生成步骤如下:
分析软禁需求规格说明书中哪些是原因,哪些是结果,原因是数据条件或输出条件的等价类,结果是输出条件。
分析软件需求规格说明书中描述的语义,找出原因与结果之间,原因与原因之间的对应关系,根据这些关系,画出因果图。
标明约束条件。
把因果图转换成判定表。
为判定表中每一列设计测试用例。
· 判定表
概念:分析和表达多逻辑条件下执行不同操作的情况的一种方法。
条件桩:列出问题的所有条件
动作桩:列出问题规定可能采取的操作
条件项:列出针对条件桩的取值
动作项:列出在条件项的各种取值情况下应该采取的动作。
判定表建立步骤
分析判定问题涉及几个条件
分析每个条件有几个取值空间
画出条件取值分析表。分析条件的各种可能组合
分析决策问题涉及几个判定方案
画出有条件组合的判定表
决定各种条件组合的决策方案,即填写判定规则
合并化简判定表,即相同决策方案所对应的各个条件组合是否存在无须判定的条件
· 错误推测法
· 场景法
软件测试基础学习笔记