软件测试综述

1软件测试的任务目标与策略
任务目标:测试的根本目的就是为了发现尽可能多的缺陷。这里的缺陷是一种泛称,它可以指功能的错误,也可以指性能低 下,易用性差等等。因此,测试是一种“破坏性”行为。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。即软件测试是为了“证伪” 而非“证真”。把证明程序无错当作测试目的不仅是不正确的, 完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的。软件测试要设法使软件发生故障,暴露软件错误, 能够发现错误的测试是成功的测试,否则是失败的测试。
策略:
单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。
集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。
系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。
验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试。
2.白盒、黑盒测试方法的测试用例设计策略与方法
黑盒测试:又称功能测试 数据驱动测试 基于规格说明书的测试。黑盒测试是从用户观点,按规 格说明书要求的输入数据与输出 数据的对应关系设计测试用例,是根据程序外部特征进行测试。
方法有包括、等价类划分法、边界值分析法、错误推测法、因果图法、判定表、正交试验设计法等。
白盒测试:结构测试 玻璃盒测试 基于覆盖的测试. 根据被测程序的逻辑结构 设计测试用例;力求提高测试覆盖率;白盒测试是根据程序内部逻辑 结构进行测试。.
方法有:条件覆盖、.判定-条件覆盖多重条件覆盖、.路径测试。
① 在任何情况下都应该使用边界值分析的方法;
② 必要时用等价划分法补充;
③ 必要时再用错误推测法补充;
④ 对照程序逻辑,检查测试方案。可根据对程序可靠性的要求采用不同的逻辑覆盖标准,必要时补充一些测试方案。
3.软件测试步骤与方法
测试阶段划分
测试阶段划分:需求测试(重点)、单元测试、集成测试、系统测试(重点)、验收测试、回归测试
需求测试
定义:通过评审来测试需求(通过不同级别不同类型的评审来避免人员意见)
单元测试
定义:针对软件基本组成单元(软件的最小组成单元:函数,语句块等)来进行正确性检验的测试工作
目的:检测软件模块对《详细设计说明书》的符合程度
集成测试
定义:将所有模块按照《概要设计说明书》的要求组装成子系统或者系统,验证组装后的功能以及模块间接口是否正确的功能
目的:检测软件模块对《概要设计说明书》的符合程度
系统测试
定义:将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员(用户)等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机进行一系列的测试工作
目的:通过与《需求规格说明书》作比较,发现软件与系统需求定义不符合或与之矛盾的地方
回归测试
定义:软件在测试或其他活动中发现的缺陷经过修改后,应该进行回归测试(Regression Testing)
目的:验证缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能
回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试
验收测试
在通过了系统内部测试及配置审查之后,就可以开始验收测试。
验收测试是以用户为主的测试,验收组应该由项目组成员、用户代表等组成。
验收测试原则在用户所在地进行,如经用户同意也在公司内模拟用户环境进行。
验收测试根据合同、《需求规格说明书》或验收测试计划对成品进行验收测试。
验收测试的结果有两种情况:
① 软件功能、性能等质量特征与用户要求的一致,软件可以接受;
② 软件功能、性能等质量特征与用户要求有差距,不被用户接受。
α测试
定义:用户在开发环境进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。是可控制环境,开发测试人员可以修改控制的环境。α测试时,软件在一个自然状态下使用,开发者在旁,随时记录错误情况和使用中的问题。这是在受控的环境下进行的测试。
目的:评价软件产品的FLURPS(功能,局域化,可用性,可靠性,性能和技术支持)
β测试
定义:由软件的多个用户在一个或多个用户的实际环境下进行的测试。与α测试不同的是,β测试时开发者通常不在现场,因而,β测试是在开发者无法控制的环境下进行的软件现场应用。
单元测试,集成测试,系统测试的比较
测试方法不同
单元测试属于白盒测试
集成测试属于灰盒测试
系统测试属于黑盒测试
考察范围不同
单元测试主要测试单元内部的数据结构,逻辑控制,异常处理 等
集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能
系统测试主要测试整个系统相对于需求的符合度
评估基准不同
单元测试的评估基准主要是逻辑覆盖率
集成测试的评估基准是接口覆盖率
系统测试的评估基准主要是测试用例对需求规格的覆盖率
4.常用软件测试工具;
工具名称: WinRunner功能性测试
工具名称: LoadRunner 性能与负载压力
工具名称: SilkTest功能测试和回归测试
白盒测试工具 Jtest Jcontract Insure++ TrueTime
黑盒测试工具 WinRunner QARun QARun SilkTest SilkTest International Qaload
针对数据库测试的TestBytes,对应用性能进行优化的EcoScope等工具
5. 软件质量评估方法
软件质量要求包括6个主要特征
功能性:软件实现的功能达到要求的和隐含的用户需求以及设计规范的程度,
可靠性:软件在指定条件和特定时间段内维持性能的能力程
易使用性:用户使用该软件所付出的学习精力,
效率:在指定条件下,软件功能与所占用资源之间的比值,可维护性:当发现错误、运行环境改变或客户需求改变时,程序能修改的容易程度,
可移植性:将软件从一种环境移入另一种环境的容易程度。

计划阶段:
完成<单元测试计划>
设计阶段
设计测试用例集
执行阶段
执行用例,记录缺陷,反馈给开发人员,同时跟踪缺陷的纠正
评估阶段
评估测试的完备性和覆盖性,最好给出测试对象一-个可度量的评价
总结阶段
生成测试报告

全部评论

相关推荐

10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
评论
1
5
分享
牛客网
牛客企业服务