基于Adobe AIR的自动化测试与实现 毕业论文.doc

上传人:小小飞 文档编号:3919771 上传时间:2019-10-10 格式:DOC 页数:53 大小:1.01MB
返回 下载 相关 举报
基于Adobe AIR的自动化测试与实现 毕业论文.doc_第1页
第1页 / 共53页
基于Adobe AIR的自动化测试与实现 毕业论文.doc_第2页
第2页 / 共53页
基于Adobe AIR的自动化测试与实现 毕业论文.doc_第3页
第3页 / 共53页
基于Adobe AIR的自动化测试与实现 毕业论文.doc_第4页
第4页 / 共53页
基于Adobe AIR的自动化测试与实现 毕业论文.doc_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《基于Adobe AIR的自动化测试与实现 毕业论文.doc》由会员分享,可在线阅读,更多相关《基于Adobe AIR的自动化测试与实现 毕业论文.doc(53页珍藏版)》请在三一文库上搜索。

1、毕业论文(设计)任务书 论文(设计)题目: 基于Adobe AIR的自动化测试与实现 学 院: 软件学院 专业: 软件工程 班级: 测试班 1、 论文(设计)研究目标及主要任务研究目标:经济与技术的高速发展与创新,软件行业成为新星在国内逐渐发展扩大,测试在近几年得到软件行业各企业的重视,而由于手工测试的局限性,自动化测试成为不可或缺的测试方式占据了软件测试的中重要的地位。UCbook一类实现学校教学备课,授课,课后资源共享与测试的软件将成为教师学生授课学习的发展趋势,因此对于UCbook软件的测试将提高了该软件的竞争力度,使用自动化测试工具对UCbook进行功能和性能的测试并与开发人员的合作也

2、将会进一步完善软件的使用。主要任务: 1. 了解软件自动化测试的目的与价值2. 理解UCbook的原理3. 掌握自动化测试生命的周期和特点4. 运用自动化测试工具进行测试5. 对手工测试与自动化测试进行分析6. 得出结论2、 论文(设计)的主要内容通过对UCbook软件中备课、授课、课后三个模块使用自动化测试工具对其功能和性能进行测试,来进一步了解自动化测试,并说明如今软件行业中自动化测试的重要性和软件测试的必要性。3、 论文(设计)的基础条件及研究路线基础条件:1. 已设计UCbook软件及相关文档2. 了解软件测试的过程及软件的生命周期3. 了解自动化测试工具及其使用4. 测试结果的分析研

3、究路线:1. 研究不同自动化测试工具对软件的性能和功能进行测试。对各类自动化测试工具进行需求的分析,并分析各类自动化测试工具的主流测试功能。2. 软件自动化测试工具的自动运行和复用的机制。分析软件自动化测试工具的运行平台和各种工具的脚本录制和服用。3. 软件自动化测试的方法。对于各种工具的使用技巧和参数的配置分析。4、 主要参考文献1 贺平.软件测试教程M.北京:电子工业出版社,2005:136-1392 柳纯录.软件评测师教程M.背景:清华大学出版社,20053 浅谈测试需求分析DB/OL.http:/ cosed.小谈冒烟测试J/OL.每日E测,2009,(01):235 王威.软件测试从

4、零开始J/OL.无忧测试,2004,(01):95、 计划进度阶段起止日期1完成选题、确定论文题目2010.06.01-2010.06.202熟悉系统需求,为测试做准备工作2010.10.06-2011.01.253编写测试计划及评审、测试用例2011.01.26-2011.02.204测试执行及缺陷管理2011.02.21-2011.03.155测试总结、验收测试2011.03.16-2011.04.016完成论文定稿、打印,准备答辩2011.04.02-2011.05.027论文答辩2011.05.03-2011.05.06指 导 教师: 年 月 日教研室主任: 年 月 日 本科生毕业论文

5、(设计)开题报告书 软件学院 学院 软件工程 专业 2011 届学生姓名 论文(设计)题目基于Adobe AIR的 UCbook的自动化测试与实现指导教师 专业职称 所属教研室测试教研室研究方向测试课题论证: 最近十几年我国软件的产业的兴起和发展逐渐壮大,但一般的软件公司看重开发而轻视测试,而且有的公司认为测试可以在用户那边实现,只是一味的追求软件功能的实现而忽视用户的体验,不加强软件功能和性能的优化工作,正因为这样使得中小型软件公司无法得到进一步的发展,无法立足于竞争激烈的信息高速发展的社会,因此现在国内更多的企业认识到测试工作的重要性。软件测试工作的严密性不仅保证了软件的质量问题,而且还降

6、低了以后软件维护的成本,更重要的是提高了企业信誉和实力,所以软件测试越来越受到各大软件企业的重视。另在软件测试高速发展的今天,自动化测试也逐渐成为软件测试领域里一个非常受关注的潮流,很多软件公司正在或已经在企业测试团队中实现软件自动化测试流程,同时也将软件自动化的技能和使用作为衡量一个软件测试人员水平的重要指标,随着软件系统规模的扩大和复杂度的提高,自动化测试成为不可缺少的测试方式,测试执行需要多测,通过自动化测试可以使得测试执行频率加快。而且很多软件公司看到这样的潮流后,很早的就开始了做软件自动化测试的框架,比如微软,Oracle等公司也在内部测试的团体整合了自动化的测试流程,提高的重复性测

7、试的效率。自动化测试解决了手工测试效率低的问题,降低了手工测试带来的高成本,对其结果进行分析,得出结论,使得测试结果更准确。对程序回归测试更方便,可运行更多的更繁琐的测试,可以执行一些手工测试困难或不可能进行的测试,并且可以保证一致性,更好的利用资源,增加软件的信任度,所以说自动化测试是如今软件测试发展中不可或缺的部分。 方案设计:对UCbook软件的备课、授课、课后三个模块使用自动化测试工具LoadRunner或QTP进行性能或功能的测试: 通过LoadRunner对用户登录并使用UCbook软件的性能进行测试并分析。 通过QTP对个功能进行测试,并分析结果。进度计划:完成选题、确定论文题目

8、 2010.06.01-2010.06.20熟悉系统需求、为测试做准备工作 2010.10.06-2011.01.25编写测试计划及评审、测试用例 2011.01.26-2011.02.20测试执行、缺陷管理 2011.02.21-2011.03.15测试总结、验收测试 2011.03.16-2011.04.01完成论文定稿、打印,准备答辩 2011.04.02-2011.05.02论文答辩 2011.05.03-2011.05.06 指导教师意见: 指导教师签名: 年 月 日教研室意见: 教研室主任签名: 年 月 日本科生毕业论文(设计)文献综述随着计算机日益广泛的应用,软件行业成为了衡量一

9、个国家综合实力的标志之一,运用于各个领域,而国内在教育行业关于备课,授课,课后结合的软件将在今后得到广泛的使用。UCbook作为该类型软件将为师生提供多种信息服务,方便了用户的使用,为了提高用户的使用的效果,在投入市场前需对软件进行全面的测试。由于该系统使用人群较为广泛,软件测试的工作量很大,所以单纯的手工测试不能完成用户希望在短期内就能满足其业务的需求,为了避免重复劳动带来的不必要影响,引入在对UCbook的测试中引入自动化测试提高测试的效率。自动化测试(Automatic test)的定义:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施。通常软件的测试工作量较大

10、。据统计,软件测试的工作占据了整个软件工程约35%-40%的开发时间,对于一些可靠性要求较高的软件,测试时间则可能占据到开发时间的50%-60%。在整个测试工作中手工测试仍占据了很多的时间,尤其是在模块级的黑盒测试、白盒测试、数据路径遍历测试及各种模块功能的测试,大多数仍然需要采用手工测试的方式来完成。软件测试自动化的引入一个渐进的过程,并不是从一开始就需要对所有的测试进行自动化,这是一项让计算机在某些特殊时候代替测试人员进行软件测试的技术,使得测试人员从繁琐、重复的测试活动中解脱出来,转而专心从事有意义的测试设计等的活动,测试自动化通过自动化工具减轻手工测试的工作量,达到了提高软件测试质量的

11、目的。而且设计良好的自动化测试,在某些情况下可以实现“夜间测试”和“无人测试”,从成本上来说,软件自动化测试可以减少成本,增加了有限时间内的可执行测试,节约额时间。后台管理是UCbook的重要组成部分,是UCbook运行的最基本数据支持,使用现代软件开发技术对用户信息、权限,各种资料进行统一的管理,使得客户端和后台管理无需集合,通过接入点即可实现主要功能,而后台的数据处理能力将大大影响客户端的反应情况和用户的使用,使用自动化测试工具对后台进行测试将可以找出潜在的问题,进一步提高软件的质量。综上,自动化测试的引入将会更好的利用资源,大大的提高测试的效率,缩短软件开发测试周期,可以让产品以更好更快

12、的姿态投放到市场,并节省了人力资源,降低了测试的成本,增强了测试的稳定性和可靠性,使得软件测信任度得到了提高。参考文献:1 贺平.软件测试教程M.北京:电子工业出版社,2005:136-1392 柳纯录.软件评测师教程M.背景:清华大学出版社,20053 浅谈测试需求分析DB/OL.http:/ cosed.小谈冒烟测试J/OL.每日E测,2009,(01):235 王威.软件测试从零开始J/OL.无忧测试,2004,(01):9本科生毕业论文(设计)翻译文章中文翻译:介绍软件必须通过测试确保它在预定的环境中工作,软件测试必须能非常有效的找出缺陷所在,它还必须是高效的,能尽快尽可能便宜的执行测

13、试。自动化软件测试,可以大大减少全面检测的时间,显著提高规定时间内的测试能力,手动测试需要几个小时完成的任务,自动化测试在数分钟之内就能完成。这本书所展示的就是不同的组织如何进行自动化测试,其中一些大大缩小了成本,跟手动模式相比成本节约高达80%,有些不能直接在成本上体现,但是他们的自动化测试使得他们能更快的产出更高质量的软件。一个成熟的自动测试软件,可以在电脑闲置时,一键式自动执行。自动化测试是可重复的,并且在同一时间序列内用完全相同的输入数据,自动测试能用最少的精力全面检测有变化的部份,而且它还能消除很多麻烦,越是枯燥简单的测试,越是需要强大的工具支持。自动化测试的优点自动化测试比手动测试

14、能更有效的执行检测任务,除此之外,其他的其他优势,具体如下:1. 能在新版本的程序中运行现有测试,这也许是最显著的优势,特别是在有很多修改程序的环境中。执行一套回归测试应该不要花很大的精力,鉴于测试已经存在,并且自动在早期版本的程序中运行,它应该是可以选择,仅需几分钟的手动工作就可以开始执行。2. 可以更多更频繁的运行,自动测试一个明显的优点就是用更少的时间运行更多的测试,因此就能更频繁的执行测试,这个能使系统更自信,大部分人认为执行相同测试时,用自动化更快,实际上,他们更倾向于更频繁地运行更多测试。3. 仅凭手动模式很难或者几乎不可能执行测试。比如说200个用户试图执行一个全面的在线系统测试

15、可以说是不可能的,但是自动化测试可以模拟200个用户的输入信息。通过让最终用户定义,实现自动重放。用户方案测试可以在任何时间运行,即使是那些不明白复杂的业务应用技术人员也能使用。当执行手动测试时,通常预计的结果包含测试人能明显看到的状况,但是,总有一些属性是手动测试不容易被验证的。例如,一个图形用户界面(GUI)的对象可能会引发一些事件,但不会产生任何直接的输出。一个测试执行工具可能可以检查到该事件已发生,但是如果不使用其他工具的话是不能被检测到的。4. 更充分的利用资源。毫无意义和枯燥任务的自动化,例如重复插入相同的输入,更精确测试可以提高员工士气,并且可以使得测试技术人员有更多的时间去设计

16、更好测试用例。另外有些测试需要手工测试,当测试用例较少时测试人员可以更好的完成手工测试。测试机器可以整夜或利用周末时间去完成自动化测试。5. 测试的一致性及可重复性。自动重复的测试每次都是完全相同(至少每次输入都是相同的,鉴于时间不同输出有可能不同,比如说。)这个可以使测试能达到一定水平的一致性,而手动测试是很难达到的。通过使用不同的操作系统,或者不同的数据库,可以让同样的测试,在不同的硬件配置下执行。这样又能使多平台的产品具有跨平台一致性的特质,这个显然也是手动测试几乎不能达到的。使用一个好的自动测试软件能确保在测试和开发过程中有一致的标准。比如说:该工具可以检查相同类型的功能在每个应用程序

17、中以相同的方式执行。6. 测试的再利用。决定测试什么,设计测试并建立测试的努力都可以通过执行这些测试来得到很好的分布。那些需要再利用的测试是值得我们投入时间去研究并确保他们的可靠性。这一点在手动测试中也是至关紧要的,但是相比于手动测试,自动测试比能更多的被再利用。7. 更快的进入市场。一旦一组测试可以自动执行,它的重复速度远远快于手动模式,所以,测试运行的时间可大大缩短(当然也有其他影响因素,比如开发者修复缺陷的能力)。8. 增强信心。得知一组广泛的自动化测试已经成功运行,当系统被释放是,我们可以由更大的信息保证不会有任何不愉快的意外发生(前提是在运行的测试必须是完好的,高质量的)。总之,可以

18、用更少的尽力,获得更彻底的检测,同时提高质量和生产率。自动化测试用例的设计测试活动可以被自动化设计吗?通过测试工具,我们有一些方法使得部分测试设计实现自动化。这些工具有事被称为测试输入生成工具,他们在某些情况下是有用的,但是他们永远不能完全取代智能测试。所有测试设计都遇到的一个问题是:该工具可能会产生大量的测试,因此有些工具就会用一些方法尽量减少出现与测试人员特定标准相对的测试。尽管这样,在合理的时候还有会产生很多很多的测试。测试工具不能判别出哪些测试是最重要的。这就需要人类的创造性智慧。工具永远都不会回答一些问题,比如:如果我们只有时间检测30%需要被检测的部分,哪部分是最需要检测?就算是自

19、动检测,也没有足够的时间做100%的检测。所有的检测工具都是依赖算法生成测试的。用同样的算法,工具比人更全面更精确,因此这是一个优点。但是,人类可以试着想其他的方法,找出那些遗漏的方面和要求,或者通过个人知识找到错误所在。测试生成工具可以在完全知道哪些可以做,哪些不能做的状况下,发挥最好的作用。(事实上这个对任何工具都适用)我们将基于代码,接口和规格来讨论三种类型的测试输入生成工具。英文原文:Introduction Software must be tested to have confidence that it will work as it should in its intended

20、 environment. Software testing needs to be effective at finding any defects which are there, but it should also be efficient, performing the tests as quickly and cheaply as possible.Automating software testing can significantly reduce the effort required for adequate testing, or significantly increa

21、se the testing which can be done in limited time. Tests can be run in minutes that would take hours to run manually. The case studies included in this book show how different organizations have been able to automate testing, some saving significant amounts of money. Savings as high as 80% of manual

22、testing effort have been achieved. Some organizations have not saved money or effort directly but their test automation has enabled them to produce better quality software more quickly than would have been possible by manual testing alone.A mature test automation regime will allow testing at the tou

23、ch of a button with tests run overnight when machines would otherwise be idle. Automated tests are repeatable, using exactly the same inputs in the same sequence time and again, something that cannot be guaranteed with manual testing. Automated testing enables even the smallest of maintenance.Change

24、s to be fully tested with minimal effort. Test automation also eliminates many menial chores. The more boring testing seems, the greater the need for tool support.The promise of test automationTest automation can enable some testing tasks to be performed far more efficiently than could ever be done

25、by testing manually. There are also other benefits, including those listed below.1. Run existing (regression) tests on a new version of a program. This is perhaps the most obvious task, particularly in an environment where many programs are frequently modified. The effort involved in performing a se

26、t of regression tests should be minimal. Given that the tests already exist and have been automated to run on an earlier version of the program, it should be possible to select the tests and initiate their execution with just a few minutes of manual effort.2. Run more tests more often. A clear benef

27、it of automation is the ability to run more tests in less time and therefore to make it possible to run them more often. This will lead to greater confidence in the system. Most people assume that they will run the same tests faster with automation. In fact they tend to run more tests, and those tes

28、ts are run more often.3. Perform tests which would be difficult or impossible to do manually. Attempting to perform a full-scale live test of an online system with say 200 users may be impossible, but the input from 200 users can be simulated using automated tests. By having end users define tests t

29、hat can be replayed automatically, user scenario tests can be run at any time even by technical staff who does not understand the intricacies of the full business application. When testing manually, expected outcomes typically include the obvious things that are visible to the tester. However, there

30、 are attributes that should be tested which are not easy to verify manually. For example a graphical user interface (GUI) object may trigger some event that does not produce any immediate output. A test execution tool may be able to check that the event has been, triggered, which would not be possib

31、le to check without using a tool.4. Better use of resources. Automating menial and boring tasks, such as repeatedly entering the same test inputs, gives greater accuracy as well as improved staff morale, and frees skilled testers to put more effort into designing better test cases to be run. There w

32、ill always be some testing which is best done manually; the testers can do a better job of manual testing if there are far fewer tests to be run manually. Machines that would otherwise lie idle overnight or at the weekend can be used to run automated tests.5. Consistency and repeatability of tests.

33、Tests that are repeated automatically will be repeated exactly every time (at least the inputs will be; the outputs may differ due to timing, for example). This gives a level of consistency to the tests which is very difficult to achieve manually. The same tests can be executed on different hardware

34、 configurations, using different operating systems, or using different databases. This gives a consistency of cross-platform quality for multi-platform products which is virtually impossible to achieve with manual testing. The imposition of a good automated testing regime can also insure consistent

35、standards both in testing and in development. For example, the tool can check that the same type of feature has been implemented in the same way in every application or program.6. Reuse of tests. The effort put into deciding what to test, designing the tests, and building the tests can be distribute

36、d over many executions of those tests. Tests which will be reused are worth spending time on to make sure they are reliable. This is also true of manual tests, but an automated test would be reused many more times than the same test repeated manually.7. Earlier time to market. Once a set of tests ha

37、s been automated, it can be repeated far more quickly than it would be manually, so the testing elapsed time can be shortened (subject to other factors such as avail ability of developers to fix defects).8. Increased confidence. Knowing that an extensive set of automated tests has run successfully,

38、there can be greater confidence that there wont be any unpleasant surprises when the system is released (providing that the tests being run are good tests!). In summary, more thorough testing can be achieved with less effort, giving increases in both quality and productivity.Automating test case des

39、ignCan the activities of test case design be automated? There are a number of ways in which testing tools can automate parts of test case design. These tools are sometimes called test input generation tools and their approach is useful in some contexts, but they will never completely replace the int

40、ellectual testing activities.One problem with all test case design approaches is that the tool may generate a very large number of tests. Some tools include ways of minimizing the tests generated against the testers specified criteria. However the tool may still generate far too many tests to be run

41、 in a reasonable time. The tool cannot distinguish which tests are the most important; this requires creative intelligence only available from human testers. A tool will never be able to answer questions such as: If we only have time to test 30% of what we could test, which are the most important te

42、st cases to run? Even if the testing is automated, there may still be insufficient time to run 100% of the automated tests.All test generation tools rely on algorithms to generate the tests. The tools will be more thorough and more accurate than a human tester using the same algorithm, so this is an

43、 advantage. However, a human being will think of additional tests to try, may identify aspects or requirements that are missing, or may be able to identify where the specification is incorrect based on personal knowledge. The best use of test generation tools is when the scope of what can and cannot

44、 be done by them is fully understood. (Actually that applies to the use of any tool!)We will look at three types of test input generation tools, based on code, interfaces, and specifications.原文出处: Addison_Wesley_-_Software_Test_Automation.pdf本科生毕业论文设计题目 基于Adobe AIR的自动化测试与实现 作者姓名 指导教师 所在学院 软件学院 专业(系)

45、 软件工程 班级(届) 级测试班 完成日期 2011 年 4 月 28 目录中文摘要、关键字IV1绪论11.1背景11.1.1项目背景11.1.2测试背景11.2研究现状11.3研究内容和方法22软件测试基础22.1软件测试的定义22.2软件测试的目的22.3软件测试的原则32.4软件测试的分类32.5测试停止的依据33测试需求43.1什么是测试需求43.2测试需求的原因43.3项目需求43.4项目需求评审64测试计划64.1测试计划的定义64.2测试计划编写84.2.1测试对象84.2.2测试环境84.2.3测试资源84.2.4测试进度94.2.5测试策略94.2.6测试通过标准104.3测

46、试计划评审105测试用例115.1测试用例115.2测试用例的设计方法115.2.1等价类划分法115.2.2边界值分析法125.2.3场景法135.3测试用例135.4测试用例评审166软件缺陷176.1软件缺陷的定义176.2缺陷与错误严重性和优先级176.3缺陷管理工具176.4部分缺陷187性能测试197.1什么是软件性能197.2性能测试的过程197.2.1测试前期的准备197.2.2测试工具的引入207.2.3性能测试计划207.2.4测试的设计207.2.5测试执行和结果分析238测试总结278.1项目概述278.2测试情况278.2.1测试局限278.2.2功能测试结果278.2.3压力测试结果308.2.4缺陷统计30参考文献34英文摘要、关键词V

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1