- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 软件测试(上)
软件测试基础
白盒测试
黑盒测试
白盒测试和黑盒测试的比较
软件测试基础
软件测试背景
在某撑杆跳横杆自动调节系统中,如果运动员撑杆跳的高度达到6米,则横杆自动升高5厘米。
if (Height == 6)
{
// 横杆自动升高5厘米
Height = Height * 1.05;
}
软件测试基础
软件测试背景
在某嵌入式控制系统中,需反复检测各标志位的状况。
int i;
for (i = 0; i 100000; i++)
{
// 检测各标志位
…………
}
软件测试基础
为什么要进行软件测试?
软件测试是在软件开发过程中保证软件质量、提高软件可靠性的最主要的手段之一。
它是软件系统在正式交付用户使用前,对系统分析、设计、代码等开发工作的最后检查和复审。
软件测试基础
对软件测试的一些误解:
软件测试技术要求不高,至少比编程容易多了;
软件测试随便找一个人就能做;
软件测试有空就做,没空就少做甚至不做;
按照软件工程过程安排,设计——实现——测试,因此测试是最后才考虑的事;
如果发布的系统存在质量问题,那是软件测试工程师的问题。
软件测试基础
“很多人都认为微软是一家软件开发公司,而事实上,我们是一家软件测试公司。” ——比尔·盖茨
Microsoft
Exchange 2000
Windows 2000
项目经理
25人
约250人
开发人员
140人
1700人
测试人员
350人
3200人
测试/开发人员比例
2.5人
1.9
软件测试基础
国内软件行业
测试/开发人员比例调查表情况
1:1
1:2
1:3
1:4
1:5
1:6
1:7
1:7以上
2009年
9%
14%
20%
14%
13%
5%
5%
20%
2008年
11%
14%
20%
11%
12%
5%
5%
23%
参考:国外软件行业平均测试/开发比例1:1
软件测试基础
如何看待软件测试?
软件测试是在软件开发过程中保证软件质量、提高软件可靠性的最主要的手段之一,但软件质量并不仅仅是测试出来的。
软件测试不仅是运行系统,检测结果是否正确,更重要的是如何在有限资源的前提下,提高软件测试的效率和发现尽可能多的错误,这是一件很见功底的事情。
软件测试不仅是技术问题,还涉及测试管理,必须要对软件测试早做计划、分配各项资源,并将其作为项目管理的一个部分加以控制和协调。
开发和测试是软件项目相辅相成的两个过程,人员间交流、协作与配合是提高整体效率的关键。
软件测试基础
根据IEEE(1983年)标准,这里给出几个有关测试的重要概念的定义:
失败:当程序不能运行时称为失败。失败是系统执行过程中出现的一种情况,它源于编码错误。
错误:程序运行而得不到正确结果。
缺陷:缺陷是错误的表现。如叙述的不完整、数据流图的不平衡、程序流程图的非结构化设计、源代码编写错误等。
测试用例:测试用例是为了某种特定目标而设计的一组输入数据或执行条件,以及预期结果的集合。它是测试执行时最小的实体。
软件测试基础
对于软件测试的定义,有如下不同的描述:
IEEE(1983):使用人工或自动运行测试系统的过程,其目的在于检验系统是否满足用户需求,或找出预期结果与实际运行结果间的差别,发现程序错误。
Glen Myers:软件测试为了发现错误而执行程序的过程。
从软件质量和可靠性角度理解,软件测试是为保证软件质量、提高软件可靠性的活动,它应用测试理论和技术,发现程序中的错误和缺陷而实施的过程。
从定义中看出软件测试的四个特点:
动态:软件测试总要通过一组输入执行程序。由于系统会处于不同的状态,因此对于同样的输入可能产生不同的响应。
有限:在测试中实际能够观察的执行数量是有限的。正是这种矛盾带来测试技术(测试充分性评判准则)和管理(测试工作量估计)两个方面的测试问题。
选取:很多测试手段的本质区别就是如何选择有限的测试集。
预期:必须能够确定所观察到的程序执行输出是不是可接受的,否则测试工作就是无用的。
软件测试基础
E.W.Dijkstra 指出——程序测试能证明错误的存在,但不能证明错误不存在。
测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。
测试的目的与地位
把证明程序无错当作测试目的不仅是不正确的, 完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的。软件测试要设法使软件发生故障,暴露软件错误。
测试的“成功”与“失败”:
能够发现错误的测试是成功的测试,否则是失败的测试。
软件测试基础
软件测试基础
您可能关注的文档
- 第02章直线运动详解.ppt
- 秋天一年级上册语文讲述.ppt
- 私募基金运作模式讲述.ppt
- 秋天的作文习作指导讲述.ppt
- 秋天的落叶ppt讲述.pptx
- 第6章机电液一体化系统的执行与伺服驱动技术详解.doc
- 私募股权投资实务(含融资)-崔凯(7月20-21日)讲述.ppt
- 第2部分第1讲主题一图象问题详解.ppt
- 第2讲:地图详解.ppt
- 秋季初三物理目标满分班人教版第2讲内燃机热机效率能量转化和守恒讲述.pptx
- Unit 6 Get Close to Nauture Lesson 22 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 23 -课件-2025-2026学年度北京版英语四年级上册.pptx
- 2025食品饮料行业AI转型白皮书-2025食品饮料行业数智化转型领先实践.pdf
- Unit 7 Be Together Lesson 24 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 25 -课件-2025-2026学年度北京版英语四年级上册.pptx
- Unit 7 Be Together Lesson 26 -课件-2025-2026学年度北京版英语四年级上册.pptx
- 2025年广州体育职业技术学院单招职业倾向性考试题库完美版.docx
- 软件公司员工考勤异常处理.doc
- 2025年土地登记代理人之土地登记相关法律知识题库500道及完整答案【有一套】.docx
- 2025年四平职业大学单招职业适应性考试题库含答案.docx
文档评论(0)