软件测试基础知识(一)
什么是软件测试?
为了发现程序中的错误而执行程序的过程
软件的分类
(1)功能划分:系统软件、应用软件
(2)按技术架构分:单机版软件、C/S架构软件
(3)按目标用户划分:产品软件、项目软件
测试的主要方面
(1)功能测试
(2)性能测试:压力测试、负载测试
(3)接口测试
(4)可用性测试
(5)兼容性测试
(6)安全测试
(7)界面测试
测试用例的构成
测试用例的名称、目标、测试条件/设置、输入 数据要求、步骤、以及预期的结果
软件测试按过程分为三个步骤
单元测试:模块测试,是针对软件设计的最小单位 ─ 程序模块,进行正确性检验的测试工作。
集成测试:在运行(的应用中保证软件单元被结合后能正常操作的测试执行的阶段
系统测试: 应用作为整体运行时的测试执行阶段
负载测试、压力测试,容量测试和强度测试区别
负载测试:在一定的工作负荷下,系统的负荷及响应时间。通过逐步增加系统负载,最终确定在满足 性能指标的情况下,系统能承受的最大负载量的测试。
强度测试:又称疲劳强度测试,在系统稳定运行的情况下能够支持的最大并发用户数,持续执行一段 时间业务。
容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大 并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能 正常运行。
压力测试:通过逐步增加系统负载,最终确定在什么负载条件下系统性能将处于崩溃状态,以此获得 系统能提供的最大服务级别的测试。
单元测试的策略有哪些?
逻辑覆盖、循环覆盖、路径测试、边界测试
一套完整的测试应该由哪些阶段组成?
测试计划、测试设计与开发、测试实施、测试评审与测试结论
集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容?
(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
(2)一个模块的功能是否会对另一个模块的功能产生不利的影响;
(3)各个子功能组合起来,能否达到预期要求的父功能;
(4)全局数据结构是否有问题;
(5)单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
简述集成测试与系统测试关系?
(1)集成测试的主要依据概要设计说明书,系统测试的主要依据是需求设计说明书;
(2)集成测试是系统模块的测试,系统测试是对整个系统的测试,包括相关的软硬件平台、网络以 及相关外设的测试。
bug 报告当中一些必备的内容
(1)版本 (2)bug报告优先级 (3)bug状态 (4)bug的编号 (5)发现人 (6)提交人 (7)指定处理人 (8)概述 (9)详细描述 (10)严重程度 (11)所属模块 (12) 附件
Beta 测试与 Alpha 测试有什么区别
Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场
Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试
缺陷的生命周期
提交->确认->分配->修复->验证->关闭
bug的评级
一级:致命,二级:严重,三级:一般,四级:提示
软件测试分类
测试结束的标准是什么?
第一类标准:测试超过了预定时间,则停止测试。
第二类标准:执行了所有的测试用例,但并没有发现故障,则停止测试。
第三类标准:使用特定的测试用例设计方案作为判断测试停止的基础
第四类标准:正面指出停止测试的具体要求,即停止测试的标准可定义为查出某一预订数目的故障。 第五类标准:根据单位时间内查出故障的数量决定是否停止测试。
软件缺陷的原则
A、软件缺陷区别于软件 bug,它是在测试过程中出现的对系统有影响的,但是在设计中没有的或者对修改后的 bug 测试和开发人员有不同意见等
B、软件未达到产品说明书标明的功能。
C、软件出现了产品说明书指明不会出现的错误。
D、软件功能超出产品说明书指明范围。
E、软件未达到产品说明书虽未指出但应达到的目标。
F、软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。
常见的软件 Bug 分为以下三类:
(1)没有实现的功能
(2)完成了用户需求的功能,但是运行时会出现一些功能或性能上的问题
(3)实现了用户不需要的多余的功能