软件测试基础

软件测试是用来验证软件是否达到质量标准的过程。因此,发现异常与验证符合是软件测试的两个重要方面。一次成功的测试应该具有以下特征:

1、确认了软件需求的合理性。
2、确认了软件的需求与设计之间的相符性。
3、确认了设计到产品的实现性。
4、发现了设计与实现方面的异常。
5、没有超过了项目管理的总体目标(包括周期、成本等)。

1.测试类型
按测试目的分类:

1)功能测试
功能测试在测试中占的比例比较大,最常见的功能测试策略是黑盒测试方法,把测试对象看做黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需要测试软件产品的内部结构和处理过程。软件验证Verification:确定软件实现了这个功能。
黑盒测试方法:

单元测试能发现约80%的软件缺陷
集成测试:
非渐增组装测试(非增式集成测试):
将单元测试后的模块按照总体的结构图一次性集成起来,然后把连接的整体进行程序测试。一般用黑盒法来编写测试集并进行测试。
程序错误易出现,不容易集成成果。单元测试使用的辅助模块多,适合于规模小的开发系统。
渐增组装测试(增式集成测试):在单元测试的基础上,采用自顶向下或自底向上逐层安装测试,知道最后安装测试完毕。也可采用自顶向下与自底向上相结合集成测试,单元测试与集成测试相结合来进行集成测试。
将错误分解,容易找到错误并测试成功,适合于大规模的开发系统。
2)性能测试
性能测试时通过自动化的测试工具模拟多种正常、峰值以及异常负载条件对系统的各项性能指标进行测试。
负载测试:通过负载测试,确定各种工作负载下系统的性能,目标是测试负载增加的时候,各项指标的变化。
压力测试:压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统的最大服务级别的测试。评估系统处于、超过预期负载的处理能力(不崩溃)
强度测试:在极限运行状态下,性能下降幅度是否在允许范围内
3)界面测试
界面时软件和用户直接交互的层,界面好坏能够影响用户对软件的第一印象。

. 区别: 功能测试的关注点是产品的功能,看的是每个细节的功能,每个可能存在的功能问题。
性能测试主要关注的是产品在多用户的情况下的稳定性和健壮性。
界面测试更加关注的是用户体验。
按测试设计分类:
黑盒/白盒/灰盒
黑盒:软件验证,也叫功能测试、数据驱动测试
白盒:知道产品内部的工作过程,可通过测试来检测产品内部工作是否按照规格说明书正常进行。也称为:结构测试/逻辑驱动测试。确认Validation:确保功能正确的实现

语句覆盖
是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个可执行语句都至少执行一次。使所有的判断语句都能执行一次的条件案例,例如有两个if语句,那么就至少需要两个测试用例
判定覆盖
判定覆盖(也称分支覆盖)是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定的所有可能结果都至少执行一次(即判定的每个分支至少经过一次)。满足判定覆盖标准的测试用例也一定满足语句覆盖标准。与语句覆盖不同的是增加了False的情况

条件覆盖
条件覆盖是针对判定语句是由多个条件组合而成的复合判定时,需指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中的每个条件取到各种可能的值。

判定/条件覆盖
判定覆盖各条件覆盖交叉,针对于判定中的条件取值

条件组合覆盖
条件组合覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定中条件结果的所有可能组合都至少出现一次。
满足条件组合覆盖标准的测试用例一定也满足判定覆盖、条件覆盖、判定/条件覆盖、语句覆盖标准。

路径覆盖
路径覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每条可能执行到的路径都至少经过一次。(如果程序中包含环路,则要求每条环路至少经历一次)。
路径覆盖实际上考虑了程序中各种判定结果的所有可能组合。
路径覆盖未必能覆盖判定中条件结果的各种可能情况。
路径覆盖是一种比较强的覆盖标准,但不能替代条件覆盖和条件组合覆盖标准。

灰盒:不仅关注输入/输出的正确性,也关注程序内部的情况常常是通过一些表征性现象、事件、标志来判断内部的运行状态。多用于:集成测试阶段
验收测试
是以用户为主的测试,软件开发和QA人员也应该参加,测试一般在用户所在地进行,由用户验证软件产品是否满足了所有的需求的一系列的验收测试工作。仅限于做项目的公司,部门内部测试稳定后,根据合同中需求由发包商进行验收测试。验收测试的目的是为了以发现”未实现的需求”为目的,以评估”适合使用”为目标,该类测试的不是以发现缺陷为主要目的。

1、Alpha测试
Alpha测试是由用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。开发者坐在用户旁边,这是在开发者受控的环境下进行的测试。由开发者随时记录下错误情况和使用中的问题。
2、Beta测试
Beta测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,这是在开发者无法控制的环境下进行的测试。由用户记录下遇到的所有问题,定期向开发者报告。beta测试是一模拟真实的使用环境从而发现缺陷的一种测试。
3.测试用例
产品名称
功能模块
用例的编号
编写人
被测功能的简述
测试的预置条件
测试步骤
预期结果
实际结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值