收藏 分享(赏)

软件测试论文.docx

上传人:cjc2202537 文档编号:4296205 上传时间:2018-12-21 格式:DOCX 页数:11 大小:39.70KB
下载 相关 举报
软件测试论文.docx_第1页
第1页 / 共11页
软件测试论文.docx_第2页
第2页 / 共11页
软件测试论文.docx_第3页
第3页 / 共11页
软件测试论文.docx_第4页
第4页 / 共11页
软件测试论文.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、桌面端软件测试毕业论文姓 名: 肖乃全 学 号: 2013105982838 班 级: 13 级软件开发一班 2016 年 12 月 16 日桌面端软件测试的设计摘 要作为软件开发的重要环节,软件测试越来越受到人们的重视随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就更加困难为了尽可能多地找出程序中的错误,生产出高质量的软件产品,加强对测试工作的研究尤为重要 本课题以 Sun 中国工程院的 Linux 桌面系统项目 JavaDesktopSystem 的测试工作为基础,结合现有测试理论对基于 Linux 的桌面系统的测试方法和测试技术进行了深入细致的分析研究并取得了

2、多项创新性成果在理论方面提出了复合白盒测试法和缺陷图表统计模型复合白盒测试法是一种综合性的测试方法,它利用测试覆盖技术和面向缺陷的测试方法使发现的缺陷数量最大化,利用域比较测试技术和 Mutation 法降低测试用例的执行次数从而减轻工作量缺陷图表统计模型是基于缺陷统计分析的桌面软件质量评价方法,其核心包括缺陷分布统计、缺陷龄期统计和缺陷趋势统计这些理论方法已在 JavaDesktopSystem 的测试实践中得到应用,并取得很好的实际效果 设计测试用例和测试工具是桌面系统软件测试中的关键技术问题本文以JavaDesktopSystem 的重要组件 Mozilla 浏览器为对象,阐述了测试用例

3、 DOM引擎和 Javascript 解释器、辅助测试工具 IECT 和自动化性能测试工具Loadpage 的实现方法,并详细介绍了许多技术解决方案这些测试用例和测试工具在 Mozilla 浏览器的测试中正发挥着重要的作用关键词:Linux、桌面端、软件测试AbstractAs an important part of software development, software testing is more and more attention with the increase of software development scale and complexity, to find t

4、he mistakes in the software for the purpose of testing is more difficult as much as possible in order to find bugs in the program, to produce high quality software products, it is very important to strengthen the research the testing work in this research project Linux desktop system Sun China Acade

5、my of Engineering - JavaDesktopSystem test as the basis, combined with the existing testing theory is a testing method of comprehensive test method based on Linux desktop system and test technology is analyzed in detail and made a number of innovative achievements in the theory of composite white bo

6、x testing method and bug graphical statistic model of composite white box testing method is proposed, it uses technology and test coverage Test method for defects that maximizes the number of defects found, using domain comparison test technique and Mutation method to reduce test execution to reduce

7、 workload bug graphical statistic mode is desktop software quality evaluation method based on the statistical analysis of defects, which includes defect distribution statistics, defect age and bug trend statistics of the theory and method the test has been applied in the practice of JavaDesktopSyste

8、m, and achieved good practical results of test case design and test tools is the key technology in Linux desktop system testing to an important component of Mozillas JavaDesktopSystem browser as the object, introduces a method to implement test cases DOM engine and the Javascript interpreter, auxili

9、ary testing tools and automated performance test IECT Loadpage tools, and introduces many technical solutions These test cases and test tools are playing an important role in the testing of Mozilla browser。Key words: Desktop terminal、software testing、Linux目 录摘 要。IAbstractI1. 软件测试的介绍11.1 软件测试论文简介11.2

10、 软件测试的术语11.3 软件测试的目的11.4 软件测试的原则22. 桌面端软件测试用到的方法22.1 黑盒测试22.2 白盒测试22.3 灰盒测试33. 移动端软件测试注意的地方44. 与传统软件测试的异同54.1 相同的54.2 不同点55. 软件测试发展趋势85.1 国外发展前景85.2 国内发展前景96. 软件测试的分析6.1 静态错误分析107. 软件测试的作用总结111.软件测试的介绍1.1 软件测试论文简介 软件测试技术的自动化是软件测试的发展趋势,正确、合理地实施自动化测试,能够快速、彻底地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。本文系统的论述了在自动化

11、测试中所遇到的一些问题和误解,包括测试计划、测试模型、测试流程、测试用例、测试脚本、缺陷管理、人员安排、测试工具使用,并在全国短波监测网络系统的测试中得到了实践。 在本文设计中,尽可能地应用各模型中对项目有实用价值的方面,而不拘泥于某个具体的模型。在测试实践中:以 W 模型作为参考框架,同时灵活运用 H 模型独立测试的思想。 在达到恰当的就绪点时就开展独立的测试工作,同时将测试工作进行迭代。“尽早测试”、“全面测试”、“全过程测试”和“独立、迭代的测试”是测试所遵循的四个原则,这在实际测试项目中得到了应用并得到了良好的效果。 本文以整个短波系统开发生命周期为主线,相继引入了测试工具。其中测试辅

12、助工具 CVS 可以建立资源版本,建立每日构建。TestDirector 系统地控制整个测试过程,并创建整个测试工作流的框架和基础,使整个测试管理过程变得更为简单和有组织。winRunner 是对系统进行功能测试的,通过设计的脚本来自动复现手工操作。LoadRunner 是对系统性能进行测试的,通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。以上工具交互配合适用,在不断的测试迭代中改善了短波系统开发过程,提高了系统的可靠性1.2 软件测试的术语 软件质量(SW Quality):软件的功能和性能满足用户需要的程度 软件 Build:用于测试的软件中间版本程序。 软件缺陷(S

13、W Defect/bug/error):软件的功能/性能/界面/文档与软件需求文档和用户的需要不一致的现象 软件缺陷生命周期(SW defect lifecycle):报告、确认、修正、验证、关闭 测试用例(Testcase):包含输入条件、执行步骤和测试期望的正确结果的文档 缺陷跟踪系统(DTS):管理软件缺陷的整个生命周期的工具 静态测试与动态测试(Statistic testing and dynamic testing):不执行/执行程序进行的测试 白盒测试与黑盒测试(White box testing and Black box testing):测试软件代码结构的测试;不关心软件代

14、码结构,以软件输入和输出来测试软件功能的测试。 回归测试与冒烟测试(Regression testing and smoke testing):在新的软件 Build 上验证修正的缺陷是否不再现;在大规模测试前,快速执行的基本功能测试。 软件里程碑(SW Milestone):软件项目开发的各个关键过程。1.3 软件测试的目的目的: 寻找软件的缺陷 跟踪修正软件缺陷 验证修正的软件缺陷测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。同时,测试是以评价一个程序或者系统属性为

15、目标的活动,测试是对软件质量的度量与评估,以验证软件的质量满足用户的需求的程度,为用户选择与接受软件提供有力的依据。此外,通过分析错误产生的原因还可以帮助发现当前开发工作所采用的软件过程的缺陷,以便进行软件过程改进。同时,通过对测试结果的分析整理,还可以修正软件开发规则,并为软件可靠性分析提供依据。当然,通过最终的验收测试,也可以证明软件满足了用户的需求,树立人们使用软件的信心。1.4 软件测试的原则基于测试是为了寻找软件的错误与缺陷,评估与提高软件质量,提出以下的测试原则: 所以的软件测试都应追溯到用户需求。 应当把“尽早地和不断地进行软件测试”作为软件开发人员的座 右铭。 完全测试是不可能

16、的,测试需要终止。 测试无法显示软件潜在的缺陷。 充分注意测试中的群集现象。 程序员应避免检查自己的程序。 尽量避免测试的随意性。2.桌面端软件测试用到的方法2.1 黑盒测试(功能测试,用户接受度测试,黑盒测试)黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。 黑盒测试方法主要有等

17、价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。黑盒法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。黑盒法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。2.2 白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱

18、动、基路测试等,主要用于软件验证。 白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误2.3 灰盒测试 灰盒测试,确实是介于二者之间的,可以这样理解,灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是

19、通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。 灰盒测试结合了白盒测试盒黑盒测试的要素.它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。 灰盒测试由方法和工具组成,这些方法和工具取材于应用程序的内部知识盒与之交互的环境,能够用于黑盒测试以增强测试效率、错误发现和错误分析的效率。 灰盒测试涉及输入和输出,但使用关于代码和程序操作等通常在测试人员视野之外的信息设计测试。3.移动端软件测试注意的地方首先是正确性测试,正确

20、性测试又可称为功能性测试,我们首先就是要测试所有功能是否都已实现、正确、是否满足需求规格说明。正确性测试还要考虑到用户界面,软件产品始终是关注软件使用者客户的体验,手机屏幕小,界面有限,所以手机软件的用户界面更需有一定的规范和标准:正确性、一致性、直观性、实用性、灵活性、舒适性便是最基本的标准。正确性一般比较容易发现,例如某个窗口没有被完全显示,文字没有对齐,文字拼写错误,密码输入时没有以*的形式自动屏蔽等。一致性包括软件自身的一致性以及手机操作系统或与其它软件的一致性,具体表现在使用的术语,字体是否一致,界面的各参数风格是否前后一致特别也要注意中文版本下界面风格是否一致,是否有中英文混合的情

21、况。直观性要求软件功能特性易懂、清晰,用户界面布局合理,对操作的响应是否在用户的预期中,如用户做了非法操作后,界面是否有错误的提示信息,提示信息是否完整,是否明确,是否能让用户立即明白问题所在。实用性不是指软件本身是否实用,而仅仅是指具体的某个特性是否实用,是否有助于用户执行该软件的功能,手机软件是安装在手机上的第三方软件,手机不同于 PC 机,功能没有 PC 机强大,在手机上实现的功能也不同于在 PC 机上的功能,所以功能不应复杂,无用的功能只会增加程序的复杂性,产生不必要的软件缺陷。但是个人觉得有些必要的功能还是一定要有的,如:随时可以退出应用程序这个功能还是必要的,用户进入多层之后,若想

22、退出应用程序,但是又要一层一层返回到最上一层才能退出时,也是一件很头疼的事。灵活性,按我个人现在理解,具体表现在,如果多种状态之间的切换,例如界面的不停切换,操作步骤的复杂,增加了编程的难度,可能也会降低软件的可靠性,这时软件的灵活性将会大打折扣。特别是在我们测试触屏手机的时候,界面的切换经常会导致一些界面卡住,乱码,黑屏,死机的情况,所以我们在测有触屏手机时,一定要注意到灵活性。 舒适性主要强调界面美观,色彩应用恰当,按钮的立体感以及增加动感动画等。例如颜色的搭配,有些背景色跟文字或图片的颜色搭配在模拟器可以清晰的显示出来,但是到了手机由于其分辨率问题就不那么明显了。颜色搭配要以清晰美观为基

23、础,还要适当考虑用户心里等问题。4.与传统软件测试的异同4.1 相同点1. 测试的流程:构思阶段,计划阶段,开发阶段,稳定阶段,部署阶段。2. 测试需求分析的目的:识别测试对象,发现需求中不完善的,不足的,不严密的地方。使需求基线化,为以后的测试用例设计做指导。3. 测试需求分析的方法: 列出软件需求中具体可测试的需求点。对应每条需求点,形成可测试的分层描述的测试需求。根据每条测试需求,分析测试执行时需要实施的测试类型融合前三步,进行全局业务场景分析,挖掘隐式求。4. 测试的执行主要活动:准备确认测试环境,构建和冒烟测试,实施测试,缺陷跟踪,每日汇报测试结果。5. 测试方法:等价类边界值 场景

24、法 正交法4.2 不同点1. 测试类型尽早测试,经常测试2. 测试的环境类型手机端:真机环境模拟器环境同屏软件测试自动化测试环境PC 端: 自动化测试环境手动测试环境3. 测试方面PC 端:软件测试主要是黑盒测试。4. 软件特点整合应用程序开发和软件测试生命周期,你将得到更好的结果,并且不必要在程序开发和软件测试两者之间左右为难。PC 端软件特点:环境特点:屏幕大,内存大,CPU 的处理能力高应用特点:要求功能强大,界面华丽。测试难点:兼容性测试工作量大。5.软件测试发展趋势5.1 国外发展前景在软件比较发达的国家,特别是美国,软件测试已经发展成为一个独立的产业,主要体现:软件测试在公司中占有

25、重要的地位。比尔盖茨曾在马萨诸塞州技术学院的一次演讲中说:“在微软,一个典型的开发项目组中测试工程师要比编码工程师多得多,可以说我们花费在测试上的时间要比花费在编码上的时间多得多”。在微软测试人员与开发人员比例一般为 1:1,甚至在 Windows 2000开发团队中,有 1800 个测试人员,900 个开发人员,测试人员与开发人员比例为:1:2。软件测试理论研究蓬勃发展,每年举办各种各样的测试技术年会,发表了大量的软件测试研究论文,引领软件测试理论研究的国际潮流。软件测试市场繁荣。美国有一些专业公司开发软件测试标准与测试工具,MI、Compuware、MaCabe、Rational 等都是著

26、名的软件测试工具提供商,它们出品的测试工具已经占领了国际市场,目前我国使用的主流软件工具大部门是国外产品,而且世界各地都可以看到它们出品的软件测试工具,可见国外的软件测试已经形成了较大的产业。5.2 国内发展前景中国的软件测试技术研究起步于“六五”期间,主要是随着软件工程的研究而逐步发展起来的,由于起步较晚,与国际先进水平相比差距较大。知道 1990 年,成立了国家级的中国软件评测中心,测试服务才逐步开展起来。因此,我国无论是在软件测试理论研究还是在测试实践上,和国外发达国家都有不少差距,主要体现在对软件产品化测试的技术研究还比较贫乏,从业人员较少,测试服务没有形成足够的规模等方面。但是,随着

27、我国软件产业的蓬勃发展以及对软件质量的重视,软件测试越来越人们重视。软件测试正在逐步成为一个新兴的产业。我国正在迈入测试时代,主要体现在以下几个方面: 我国著名著名的软件公司都已经或者正在建立独立的专职软件测试队 伍,虽然测试人员规模以及所占比例还不能和国外的大公司相比,但是毕竟在公司内部贯彻了独立测试的意识。 国家人事部和信息产业部 2003 年关于职业资格认证第一次在我国有了 “软件评测师”的称号,这是国家对软件测试职业的高度重视与认可。 在信息产业部关于计算机系统集成资质以及信息系统工程监理资质的 认证中,软件测试能力已经被定为评价公司技术能力的一项重要指标 2001 年信息产业部发布的

28、部长 5 号令,实行了软件产品登记认证制度, 规定,凡是在我国境内销售的产品必须到信息产业部备案登记,而且要经过登记测试。 自 2001 年起,国家质检总局和信息产业部每年都通过测试对软件产品 进行质量监督抽查。 国家各部委,各行业正在通过测试规范行业软件的健康发展起到了很好 的促进作用。 用户对软件质量要求越来越高,信息系统验收不再走过场,而要通过第三方测试机构的严格测试来判定。 “以测代评”正在成为我国科技项目择优支持的一项重要举措,比如, 国家“863”计划对数据库管理系统、操作系统、办公软件、ERP等项目的经费支持,都是通过第三方测试机构科学客观的测试结果来决定的。 软件测试正在成为部

29、分软件学院的一门独立课程,对我国软件测试人才 的培养起到了很好的作用。 第三方测试机构得到了蓬勃的发展,最近两年,在全国各地,新成立的 软件测试机构有 10 多家,测试服务体系已经基本确立。可见我国的软件测试行业正处于一个快速成长的阶段,我们有理由相信,经过一段时间的发展,我们会逐步缩小与国外发达国家的差距,从而带动整个软件产业的健康发展。6.软件测试的分析6.1 静态错误分析(1)类型和单位分析 对源程序的类型进行检查,为了强化检查效果,扩充一些新的数据类型,进行静态预处理程序,分析程序中的类型错误 (2) 引用分析 程序中变量的引用进行检查,发现引用异常错误(如变量在定义前被引用,变量定义

30、后未被引用)。采用深度优选的方法遍历程序流图的每一条路径:立引用异常的探测工具,包括变量定义表和变量引用表7.测试的作用总结1、写总结、bug 类语言描述一定要慎重,多读几遍,以便让其他人更 能看明白,避免 求快而写错别字,用错术语。总结类需要写的更专业一些,避免通俗的、麽凌两可的的语言描述。宁可多花时间少写内容,少报 bug,也不要报上去的 bug,给别人看的总结出现过多纰漏,没有发现的 bug 可能是工作失误,但是发现了,但是却有不描述好,或者自己描述的不确定后事后自己都解释不清楚的话,那就更糟糕了,给他人看的总结也是如此,总之,三思而后行,是没错的,也许某些时候会降低工作效率,但是有时候

31、,出现错误带来的负面影响比工作效率低下带来的负面影响更大。 2、发对于一个软件安装和使用中生成的各种文件,最好有一份比较 好的说明文档,当然开发可能没有时间去写,而且公司里面如果没有强行要求的话,他们也是不会写的,所以测试人员就只能自己多去钻研了,对于这些文件的了解对于测试也是很有必要的。遇到不懂的要及时跟开发沟通询问。有时候可能需要花费比较多的时间来了解开发的一些处理流程和文件具体含义(比如一些 XML 文件具体保存的是什么内容),这就需要协调和测试时间的冲突,因为要花时间了解,所以测试必然会耽误时间,但是了解之后却有利于进行某些功能的测试。慢慢改进吧。 3、有时候自己提出来的产品问题,不一定会被领导、策划或者其他相 关开发人员接受,除非等到产品发展部提出来。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 软件测试

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报