- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试方法和技术重点.
第一章:软件测试概述
1.1 软件、软件危机和软件工程
软件的定义
软件危机的定义
软件危机的主要表现
(1)软件开发费用和进度失控。
(2)软件的可靠性差。
(3)生产出来的软件难以维护。
(4)用户对“已完成”的系统不满意现象经常发生。
(5)软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升。
(6)软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的需要,软件产品供不应求的状况使得人类不能充分利用计算机硬件所能提供的巨大潜力。
产生软件危机的原因
(1)与软件本身的特点有关。
(2)用户需求不明确。
(3)缺乏正确的理论指导。
(4)软件开发规模越来越大。
(5)软件开发复杂度越来越高。
软件工程的概念
1.2 软件缺陷与软件故障
相关概念
错误
缺陷
故障
失效
1.3 软件质量
软件质量的三种模型Bohm模型、McCall质量模型和ISO126模型。
软件质量的好坏要依靠软件度量,软件度量可以分为:外部度量、内部度量和使用度量。
软件质量的定义
软件质量的特征
1.4 软件测试
为社么要进行软件测试
软件测试——产品质量的保证
软件测试——控制成本的关键
软件测试——软件可靠性确认
软件测试——让企业具备国际竞争的实力
什么是软件测试
软件测试的定义。
Bill Hetzel博士(正向思维的代表):
软件测试就是为程序能够按预期设想那样运行而建立足够的信心。
“软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果”
测试是为了验证软件是否符合用户需求,即验证软件产品是否能正常工作
Glenford J. Myers (反向思维的代表):
测试是为了证明程序有错,而不是证明程序无错误
一个好的测试用例是在于它能发现至今未发现的错误
一个成功的测试是发现了至今未发现的错误的测试
软软件测试的主要内容包含两个方面,即:件测试是由“验证(Verification)”和“确认(Validation)”活动构成的整体
验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性
“有效性确认”是确认所开发的软件是否满足用户真正需求的活动。
软件测试的重要性
“程序测试是为了发现错误而执行程序的过程”。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有“破坏性”,测试可视为分析、设计和编码3个阶段的“最终复审”,在软件质量保证中具有重要地位。
第二章:软件测试的基本概念
2.1 软件缺陷
软件质量的内涵
软件质量的特征
软件质量产品的属性
2.2 软件测试的分类
按软件测试层次划分:按照软件测试的策略和过程分类,可以将软件分为单元测试、集成测试、系统测试、验收测试。
按被测试对象分为:单元测试、程序测试、系统测试、文档测试、Web应用测试、客户端测试。
按照测试目的分为:功能测试、压力测试、性能测试、可靠性测试、灾难恢复性测试、安全性测试、兼容性测试、回归测试、安装测试等。
2.3 静态测试和动态测试
按照程序是否运行,可以将软件测试划分为:静态测试和动态测试。
静态测试
静态测试不实际运行软件,主要是对软件的编程格式、结构等方面进行评估。
静态测试包括代码检查、静态结构分析、代码质量度量等。它可以由人工进行,也可以借助软件工具自动进行。
因为静态测试方法并不真正运行被测程序,只进行特性分析。所以,静态方法常常称为“分析”,静态测试是对被测程序进行特性分析方法的总称。
静态测试的任务
(1)检查算法的逻辑正确性。
(2)检查模块接口的正确性。
(3)检查输入参数是否有合法性检查。
(4)检查调用其他模块的接口是否正确。
(5)检查是否设置了适当的出错处理。
(6)检查表达式、语句是否正确,是否含有二义性。
(7)检查常量或全局变量使用是否正确。
(8)检查标识符的使用是否规范、一致。
(9)检查程序风格的一致性、规范性。
(10)检查代码是否可以优化,算法效率是否最高。
(11)检查代码注释是否完整,是否正确反映了代码的功能。
静态测试可以完成以下工作:
(1)发现下列程序的错误:错用局部变量和全局变量、未定义的变量、不匹配的参数、不适当的循环嵌套或分支嵌套、死循环、不允许的递归、调用不存在的子程序,遗漏标号或代码。
(2)找出以下问题的根源:从未使用过的变量、不会执行到的代码、从未使用过的标号、潜在的死循环。
(3)提供程序缺陷的间接信息:所用变量和常量的交叉应用表、是否违背编码规则、标识符的使用方法和过程的调用层次。
(4)为进一步查找做好准备。
(5)选择测试用例。
(6)进行符号测试。
2、动态测试
——计算
文档评论(0)