软件测试概念[1]

软件测试概念[1]

ID:33742830

大小:154.13 KB

页数:10页

时间:2019-02-28

软件测试概念[1]_第1页
软件测试概念[1]_第2页
软件测试概念[1]_第3页
软件测试概念[1]_第4页
软件测试概念[1]_第5页
资源描述:

《软件测试概念[1]》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、测试的基本概念一、软件质量保证同软件测试的区别软件质量保证(SoftwareQualityAssurance):SQA介入于整个软件开发过程——监督和改进过程,确认达成的标准和过程被正确的遵循,保证问题被发现和解决。它以预防为主。软件测试(SoftwareTesting):软件测试是在一定控制的条件下,围绕一个系统或应用的操作并且评价其结果(一个最简单的例子:如果用户使用硬件A,在应用接口B上做了操作C,那么结果D应当出现),控制的条件应当包括正常和异常的条件。测试企图使事情变得很糟糕,从而来检测出一些应当发生而没有发生,或者不应当发生而发生的事情。测试以检测为主。*关于如何安排

2、QA和测试的任务时,不同的组织变化是很大的。有时它们可以有一个组或个人来负责,共同的是一个项目组混合了测试人员和开发人员,并且他们一起紧密的工作,而QA过程有项目经理来监督。所有这些是同组织的大小和商业结构有关的。二、软件中存在错误的来源1、缺乏或者没有进行沟通,如对于一些我们应用程序中应当或者不应当实现的细节问题。2、软件复杂度——在当今的软件开发中,对于一些没有经验的人来说,软件复杂性可能是难以理解的。图形化界面,客户/服务器和分布式的应用,数据通信,大规模的关系数据库,应用程序的规模等指数般的增加了软件的复杂度。面向对象技术也有可能增加软件复杂度,除非能够被很好的工程化。3

3、、编程错误——任何一个编程人员都可能产生错误。4、不断变更的需求——用户可能不知道变更的影响,或者知道影响却还是需要进行变更,这些会引起重新设计,工程的重新安排,对其它项目的影响,已完成的工作可能不得不重做或推翻,硬件需求可能也会受到影响。如果存在许多小的变更或者任何大的改动,由于项目中不同部分间可知和不可知的依赖关系,这样就会产生问题,跟踪变更的复杂性也可能引入错误。项目开发人员的积极性也会受到打击。在一些快速变化的商业环境下,不断变更的需求可能是一种残酷的事实。在这种情况下,管理人员必须了解结果的风险,QA工程师和测试工程师必须适应和计划进行大规模的测试来防止不可避免的BUG

4、出现无法控制的局面。5、时间的压力——软件项目的时间安排是最难的,通常是需要很多猜测的工作。当最后期限来临的时候,错误也就伴随发生了。6、人员的自大——我们经常会发现人们普遍喜欢说:“没问题”“很简单”“我可以在几小时内解决那个问题”“修改那些老代码应当是很简单的”而不是说:“那会增加很多复杂性,可能会导致很多错误”“如果我们要做那个的话,我们将无能为力”“我无法估计可能要多长时间,除非我能进一步进行观察和研究”“我们无法搞清楚那些混乱的代码到底在做什么事情”如果存在太多的“没问题”的话,问题也就产生了。7、缺乏文档的代码——维护和修改很差的代码或缺乏文档的代码是很困难的。最终结

5、果将导致BUG的出现。8、软件开发工具——视图工具,类库,编译器,脚本工具等等通常会把它们自身的BUG引入到你的项目中。三、有哪些测试1、黑盒测试——不是基于内部代码和设计的知识,而是基于需求和功能。2、白盒测试——基于应用程序的内部逻辑的知识,通过语句,分支,路径和条件的覆盖率。3、单元测试——测试中的最小单位,测试特殊的功能或代码模块。由于需要对内部代码和设计的详细知识,该测试一般由开发者完成而不是由测试人员完成。该测试的容易程度同代码设计的好坏直接相关。4、增量型的集成测试——随着新功能的增加,不断的对应用程序进行测试。在程序的所有部分完成之前,需要一个应用程序的各个部分之

6、间能够相对独立的进行工作。这类型测试可以有开发者或测试者完成5、集成测试——测试应用程序结合的部分来确定它们的功能结合到一起是正确的。在这里‘部分’的概念可能是代码模块,独立的应用程序,在网络上的客户端和服务器断程序等等。这类型测试典型的是于客户/服务器和分布式系统相关。6、功能测试——是一种黑盒测试,同应用程序的功能需求紧密相关。这类型测试应当有测试人员来完成。这并不意味着开发人员在发布版本之前就不需要检查他们的代码。7、端到端测试——同系统测试类似,包括模拟现实世界对一个完整的应用环境进行测试。例如同数据库进行交互、使用网络通信,或者其他的软件、硬件和系统进行交互。8、理智测

7、试——这是一种典型的原始测试,其目的是要确定一个新的软件版本在一些主要的测试努力下表现的足够好并且可以接受。例如:如果一个新软件每五分钟当机一次,使系统执行速度极其缓慢,或者破坏系统数据,那么该软件就处于不够‘理智’状态,必须保证在当前状态下进行进一步测试。9、回归测试——在软件或环境被修改后进行的再测试。可能很难确定我们需要进行多少的再测试,尤其接近到开发过程的末期。自动测试工具可能会有很大的帮助。10、可接受性测试——基于最终用户的规格进行的最后测试。或者基于最终用户在一定的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。