您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 软件测试桌面系统测试自动化测试
软件测试桌面系统测试自动化测试工具浏览器软件工程摘要:作为软件开发的重要环节,软件测试越来越受到人们的重视随着软件开发规模的增大、复杂程度的增加,以寻找软件中的错误为目的的测试工作就更加困难为了尽可能多地找出程序中的错误,生产出高质量的软件产品,加强对测试工作的研究尤为重要本课题以Sun中国工程院的Linux桌面系统项目——JavaDesktopSystem的测试工作为基础,结合现有测试理论对基于Linux的桌面系统的测试方法和测试技术进行了深入细致的分析研究并取得了多项创新性成果在理论方面提出了复合白盒测试法和缺陷图表统计模型复合白盒测试法是一种综合性的测试方法,它利用测试覆盖技术和面向缺陷的测试方法使发现的缺陷数量最大化,利用域比较测试技术和Mutation法降低测试用例的执行次数从而减轻工作量缺陷图表统计模型是基于缺陷统计分析的桌面软件质量评价方法,其核心包括缺陷分布统计、缺陷龄期统计和缺陷趋势统计这些理论方法已在JavaDesktopSystem的测试实践中得到应用,并取得很好的实际效果设计测试用例和测试工具是桌面系统软件测试中的关键技术问题本文以JavaDesktopSystem的重要组件Mozilla浏览器为对象,阐述了测试用例DOM引擎和Javascript解释器、辅助测试工具IECT和自动化性能测试工具Loadpage的实现方法,并详细介绍了许多技术解决方案这些测试用例和测试工具在Mozilla浏览器的测试中正发挥着重要的作用标题:软件测试桌面系统测试自动化测试工具浏览器软件工程专业:软件工程学位:硕士单位:湖南大学@关键词:软件测试桌面系统测试自动化测试工具浏览器软件工程论文简介:软件测试技术的自动化是软件测试的发展趋势,正确、合理地实施自动化测试,能够快速、彻底地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。本文系统的论述了在自动化测试中所遇到的一些问题和误解,包括测试计划、测试模型、测试流程、测试用例、测试脚本、缺陷管理、人员安排、测试工具使用,并在全国短波监测网络系统的测试中得到了实践。在本文设计中,尽可能地应用各模型中对项目有实用价值的方面,而不拘泥于某个具体的模型。在测试实践中:以W模型作为参考框架,同时灵活运用H模型独立测试的思想。在达到恰当的就绪点时就开展独立的测试工作,同时将测试工作进行迭代。“尽早测试”、“全面测试”、“全过程测试”和“独立、迭代的测试”是测试所遵循的四个原则,这在实际测试项目中得到了应用并得到了良好的效果。本文以整个短波系统开发生命周期为主线,相继引入了测试工具。其中测试辅助工具CVS可以建立资源版本,建立每日构建。TestDirector系统地控制整个测试过程,并创建整个测试工作流的框架和基础,使整个测试管理过程变得更为简单和有组织。winRunner是对系统进行功能测试的,通过设计的脚本来自动复现手工操作。LoadRunner是对系统性能进行测试的,通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题。以上工具交互配合适用,在不断的测试迭代中改善了短波系统开发过程,提高了系统的可靠性。软件测试精华三分类:软件测试2008-11-1721:05下面,谈谈软件测试的其他方面的一些问题。一个被人忽略的软件测试目的在谈到测试时,许多作者都引用了GrenfordJ.Myers就软件测试目的提出的以下观点:1.测试是程序的执行过程,目的在于发现错误;2.一个好的测试用例在于能发现至今未发现的错误;3.一个成功的测试是发现了至今未发现的错误的测试。这是一种比较狭窄的观点。作为一个清醒的、纵观全局的软件开发人员或管理者,我们应当从软件过程的角度来看测试。一个被人忽略的软件测试目的是:测试可以帮助发现当前开发工作所采用的软件过程(也是一个“软件”)的缺陷,以便进行改进。(在以下的讨论中,“错误”与“缺陷”基本上认为代表相同意义。)怎样理解这种说法呢?首先,测试并不仅仅是为了要找出错误。分析错误产生的原因和错误在开发的哪一个阶段产生,具有非常重要的意义。通过分析错误的原因,我们可以立即在开发行动中对其进行改正。同时,这种分析也能帮助我们推理出与所分析的错误有关联的潜在错误,从而有针对性地设计出检测的方法。通过分析错误产生于哪一个开发阶段、而又在哪一个阶段被发现,我们可以判断从错误的产生到错误的发现,跨越了多少个开发阶段。软件开发的一条重要原则是尽早发现与修正错误。(当然,更高的一条原则是尽量预防错误的出现。)一个错误能够超越本开发阶段而不被发现,就指明了该开发阶段的检测手段有缺陷,从而也不难有针对性地制定出加强的措施与办法。这也就是软件过程改进的一项重要内容。如果能做到在同一开发阶段发现及修正错误,该开发机构就可以预期有一个高质量的产品及一个低成本、高效率的软件过程。有些项目的主持人,认为以尽快的速度把测试之前的所有开发阶段完成(实际并没有完成),早日开始测试,以图达到快速和高质量(因为似乎有更长的时间可用于测试)。实际的效果将会是俗语所说的“欲速不达”。从常识就可以知道,花开发时间去继续扩大发展前面阶段引入的错误,得出的只能是更大量的需要耗时修正的错误。因此,正确分析与利用测试的结果,我们可以非常有效地进行软件过程改进。软件开发全过程检测,力争本阶段修正错误从上面的讨论,我们很自然的就能领会到,软件错误的发现绝不能等到测试才开始(按常规,最早的测试就是编码后的单元测试)。因此,笔者提出一个软件工程的守则:软件开发全过程检测,力争本阶段修正错误。单元测试是在软件开发的“实现阶段”才开始的,在此之前的“可行性研究与计划阶段”,“需求分析阶段”,“概要设计阶段”,和“详细设计阶段”,都必须有非常明确切实的手段与措施对开发结果进行检验,以保证阶段的正确完成。怎样判断一个软件过程的优劣,怎样进行软件过程改进,都可以在这个守则的指导下进行。这个守则是简单明确的,但因企业背景、条件的不同,开发环境条件的不同,项目产品的不同,实际的软件过程的实现方法就会变化无穷。考虑实现这个原则的方法的时候,可以尽量多参考各种理论及经验,但在选择制定本企业开发实践中使用的软件过程时,就必须处处根据是否能给自身的项目带来好处,以及自身的条件进行考虑。千万不要仅仅为了满足某个“标准”的提法而做一些无实际意义的工作。要尽量避免烦琐,争取做到简单、有条理和有最大的效果。软件测试的自动化软件测试的工作量很大(据统计,会用到40%的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到总开发时间的60%),但测试却是在整个软件过程中极有可能应用计算机进行自动化的工作,原因是测试的许多操作是重复性的、非智力创造性的、需求细致注意力的工作。计算机就最适合于代替人类去完成这些任务。企业在这方面的投资,会对整个开发工作的质量、成本、和周期带来非常明显的效果。一些适于考虑进行自动化的测试操作为:1.测试个案的生成(包括测试输入,标准输出,测试操作指令等)。2.测试的执行写控制(包括单机与网络多机分布运行;夜间及假日运行。测试个案调用控制;测试对象、范围、版本控制等。)。3.测试结果与标准输出的对比。4.不吻合的测试结果的分析、记录、分类、和通报。5.总测试状况的统计,报表的产生。测试自动化与软件配置管理是密不可分的。与测试有关的资源都应在配置管理中进行统一的计划考虑。另外,测试工具的采用也是一个提高质量的关键,有些专用的测试工具能帮助发现一些用任何测试个案都难以触及的错误。14.安装与卸载测试-我的学习总结前几天发表了“如何进行卸载测试”的贴子,得到很多回复,这里表示感谢!通过认真地学习与总结前辈们的宝贵经验,现整理一部分如下,主要是加深自己对它们的理解,还有希望大家继续补充与给出建议,谢谢!软件安装与卸载测试是相辅相成,通过互相补充,会发现更多的测试角度,谢谢============卸载测试==============文件----安装目录里的文件及文件夹(如:程序安装在几处的)非安装目录(向系统其它地方添加的文件及文件夹)它们包括(exe,dll,配置文件等)快捷方式-(桌面,菜单,任务栏,系统栏,控件面板,系统服务列表等)复原方面-卸载后,系统能否恢复到软件安装前的状态(包含目录结构、动态库,注册表,系统配置文件,驱动程序,关联情况等)卸载方式--程序自带卸载程序/系统的控件面板卸载/其它自动卸载工具(如:优化大师)卸载状态--程序在运行/暂停/终止等状态时的卸载非正常卸载情况-卸载软件过程中,取消卸载进程,然后,观察软件能否继续正常使用冲击卸载--在卸载的过程中,中断电源,然后,启动计算机后,重新卸载软件,如果软件无法卸载,则重新安装软件,安装之后再重新卸载。卸载环境--不同的(操作系统,硬件环境,网络环境等)下进行卸载卸载后,该系统是否对其他的应用程序造成不正常影响(如操作系统,应用软件等)==========安装测试============一:基本目标1.安装程序能正确运行2.程序安装正确3.程序安装后能正确运行4.完善性安装后程序能正确运行二:一些方面0、安装手册给的所有步骤得到验证;1、安装过程中所有缺省选项得到验证;2、安装过程中典型选项得到验证;3、测试各种不同的安装组合,并验证各种不同组合的正确性(包括参数组合,控件执行顺序组合,产品安装组件组合,产品组件安装顺序组合(如b/s)等)4、安装过程中异常配置或状态(非法和不合理配置)情况进行了测试(如:断电;数据库终止,网络终止等)5、安装后是否能产生正确的目录结构和文件,文件属性正确;6、安装后动态库是否正确;6、安装后软件能否正确运行;7、安装后没有生成多余的目录结构,文件,注册表信息,快捷方式等;9、安装测试应该在所有的运行环境上进行验证(手册上指定如:操作系统,数据库,硬件环境,网络环境等);10、自动安装还是手工配置安装11、至少要在一台笔记本上进行安装/卸载测试,因为有很多产品在笔记本中会出现问题,尤其是系统级的产品13、安装,该系统是否对其他的应用程序造成不正常影响(如操作系统,应用软件等)15.微软的测试题TestPaperforSoftwareDesignEngineer(Testtime:60minutes)Name:Date:Location:Part1:TechnicalSkillsSet(请将“●”paste在您所掌握的技能程度表格内,并注明您的使用时间和相关的证书)技能列表精通熟练掌握了解使用时间(月)所获证书English(oral)English(written)OOPprogrammingskillsC/C++(pointer,memory)JavaC#NET算法&数据结构WinAPIexperience–plusPart2:TechnicalTest1.实现二分查找的递归算法的函数。(使用C++,不建议用伪码)2.请指出该程序的错误。#includeiostream.hint*p;voidFunction();{intn;n=25;p=&n;}voidmain(){Function();coutvalueof*p:*pendl;}3.英语写作Question:Pleasedescribeyourcareerpathinthenexttwoyears.16.多线程与多进程线程的外壳是进程,进程管理线程;线程不占用系统资源,而进程占用系统资源;什么叫进程?进程同程序有什么区别?答:进程是程序在计算机上的一次执行活动。当你运行一个程序,你就启动了一个进程。显然,程序是死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就不必我多讲了吧,所有由你启动的进程都是用户进程。进程是操作系统进行资源分配的单位。在Windows下,进程又被细化为线程,也就是一个进程下有多个能独立运行的更小的单位。在同一个时间里,同一个计算机系统中如果允许两个或两个以上的进程处于运行状态,这便是多任
本文标题:软件测试桌面系统测试自动化测试
链接地址:https://www.777doc.com/doc-3075184 .html