基于Adobe AIR的自动化测试与实现毕业论文_第1页
基于Adobe AIR的自动化测试与实现毕业论文_第2页
基于Adobe AIR的自动化测试与实现毕业论文_第3页
基于Adobe AIR的自动化测试与实现毕业论文_第4页
基于Adobe AIR的自动化测试与实现毕业论文_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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./html/92/n-139492.html4 cose

4、d.小谈冒烟测试j/ol.每日e测,2009,(01):235 王威.软件测试从零开始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-201

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

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

7、微软,oracle等公司也在内部测试的团体整合了自动化的测试流程,提高的重复性测试的效率。自动化测试解决了手工测试效率低的问题,降低了手工测试带来的高成本,对其结果进行分析,得出结论,使得测试结果更准确。对程序回归测试更方便,可运行更多的更繁琐的测试,可以执行一些手工测试困难或不可能进行的测试,并且可以保证一致性,更好的利用资源,增加软件的信任度,所以说自动化测试是如今软件测试发展中不可或缺的部分。 方案设计:对ucbook软件的备课、授课、课后三个模块使用自动化测试工具loadrunner或qtp进行性能或功能的测试: 通过loadrunner对用户登录并使用ucbook软件的性能进行测试并

8、分析。 通过qtp对个功能进行测试,并分析结果。进度计划:完成选题、确定论文题目 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./html/92/n-139492.html4 cosed.小谈冒烟测试j/ol.每日e测,2009,(01):235 王威.软件测试从零开始j/ol.无忧测试,2004,(01):9本科生

13、毕业论文(设计)翻译文章中文翻译:介绍软件必须通过测试确保它在预定的环境中工作,软件测试必须能非常有效的找出缺陷所在,它还必须是高效的,能尽快尽可能便宜的执行测试。自动化软件测试,可以大大减少全面检测的时间,显著提高规定时间内的测试能力,手动测试需要几个小时完成的任务,自动化测试在数分钟之内就能完成。这本书所展示的就是不同的组织如何进行自动化测试,其中一些大大缩小了成本,跟手动模式相比成本节约高达80%,有些不能直接在成本上体现,但是他们的自动化测试使得他们能更快的产出更高质量的软件。一个成熟的自动测试软件,可以在电脑闲置时,一键式自动执行。自动化测试是可重复的,并且在同一时间序列内用完全相同

14、的输入数据,自动测试能用最少的精力全面检测有变化的部份,而且它还能消除很多麻烦,越是枯燥简单的测试,越是需要强大的工具支持。自动化测试的优点自动化测试比手动测试能更有效的执行检测任务,除此之外,其他的其他优势,具体如下:1. 能在新版本的程序中运行现有测试,这也许是最显著的优势,特别是在有很多修改程序的环境中。执行一套回归测试应该不要花很大的精力,鉴于测试已经存在,并且自动在早期版本的程序中运行,它应该是可以选择,仅需几分钟的手动工作就可以开始执行。2. 可以更多更频繁的运行,自动测试一个明显的优点就是用更少的时间运行更多的测试,因此就能更频繁的执行测试,这个能使系统更自信,大部分人认为执行相

15、同测试时,用自动化更快,实际上,他们更倾向于更频繁地运行更多测试。3. 仅凭手动模式很难或者几乎不可能执行测试。比如说200个用户试图执行一个全面的在线系统测试可以说是不可能的,但是自动化测试可以模拟200个用户的输入信息。通过让最终用户定义,实现自动重放。用户方案测试可以在任何时间运行,即使是那些不明白复杂的业务应用技术人员也能使用。当执行手动测试时,通常预计的结果包含测试人能明显看到的状况,但是,总有一些属性是手动测试不容易被验证的。例如,一个图形用户界面(gui)的对象可能会引发一些事件,但不会产生任何直接的输出。一个测试执行工具可能可以检查到该事件已发生,但是如果不使用其他工具的话是不

16、能被检测到的。4. 更充分的利用资源。毫无意义和枯燥任务的自动化,例如重复插入相同的输入,更精确测试可以提高员工士气,并且可以使得测试技术人员有更多的时间去设计更好测试用例。另外有些测试需要手工测试,当测试用例较少时测试人员可以更好的完成手工测试。测试机器可以整夜或利用周末时间去完成自动化测试。5. 测试的一致性及可重复性。自动重复的测试每次都是完全相同(至少每次输入都是相同的,鉴于时间不同输出有可能不同,比如说。)这个可以使测试能达到一定水平的一致性,而手动测试是很难达到的。通过使用不同的操作系统,或者不同的数据库,可以让同样的测试,在不同的硬件配置下执行。这样又能使多平台的产品具有跨平台一

17、致性的特质,这个显然也是手动测试几乎不能达到的。使用一个好的自动测试软件能确保在测试和开发过程中有一致的标准。比如说:该工具可以检查相同类型的功能在每个应用程序中以相同的方式执行。6. 测试的再利用。决定测试什么,设计测试并建立测试的努力都可以通过执行这些测试来得到很好的分布。那些需要再利用的测试是值得我们投入时间去研究并确保他们的可靠性。这一点在手动测试中也是至关紧要的,但是相比于手动测试,自动测试比能更多的被再利用。7. 更快的进入市场。一旦一组测试可以自动执行,它的重复速度远远快于手动模式,所以,测试运行的时间可大大缩短(当然也有其他影响因素,比如开发者修复缺陷的能力)。8. 增强信心。

18、得知一组广泛的自动化测试已经成功运行,当系统被释放是,我们可以由更大的信息保证不会有任何不愉快的意外发生(前提是在运行的测试必须是完好的,高质量的)。总之,可以用更少的尽力,获得更彻底的检测,同时提高质量和生产率。自动化测试用例的设计测试活动可以被自动化设计吗?通过测试工具,我们有一些方法使得部分测试设计实现自动化。这些工具有事被称为测试输入生成工具,他们在某些情况下是有用的,但是他们永远不能完全取代智能测试。所有测试设计都遇到的一个问题是:该工具可能会产生大量的测试,因此有些工具就会用一些方法尽量减少出现与测试人员特定标准相对的测试。尽管这样,在合理的时候还有会产生很多很多的测试。测试工具不

19、能判别出哪些测试是最重要的。这就需要人类的创造性智慧。工具永远都不会回答一些问题,比如:如果我们只有时间检测30%需要被检测的部分,哪部分是最需要检测?就算是自动检测,也没有足够的时间做100%的检测。所有的检测工具都是依赖算法生成测试的。用同样的算法,工具比人更全面更精确,因此这是一个优点。但是,人类可以试着想其他的方法,找出那些遗漏的方面和要求,或者通过个人知识找到错误所在。测试生成工具可以在完全知道哪些可以做,哪些不能做的状况下,发挥最好的作用。(事实上这个对任何工具都适用)我们将基于代码,接口和规格来讨论三种类型的测试输入生成工具。英文原文:introduction software

20、must be tested to have confidence that it will work as it should in its intended 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 signif

21、icantly reduce the effort required for adequate testing, or significantly increase 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 test

22、ing, some saving significant amounts of money. savings as high as 80% of manual 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 ma

23、nual testing alone.a mature test automation regime will allow testing at the touch 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 m

24、anual testing. automated testing enables even the smallest of maintenance.changes 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

25、some testing tasks to be performed far more efficiently than could ever be done 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 whe

26、re many programs are frequently modified. the effort involved in performing a set 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

27、 just a few minutes of manual effort.2. run more tests more often. a clear benefit 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

28、tests faster with automation. in fact they tend to run more tests, and those tests 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

29、users can be simulated using automated tests. by having end users define tests that 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 typ

30、ically include the obvious things that are visible to the tester. however, there 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 ma

31、y be able to check that the event has been, triggered, which would not be possible 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 skille

32、d testers to put more effort into designing better test cases to be run. there will 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 weeken

33、d can be used to run automated tests.5. consistency and repeatability of tests. 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 dif

34、ficult to achieve manually. the same tests can be executed on different hardware 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 testin

35、g. the imposition of a good automated testing regime can also insure consistent 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 deci

36、ding what to test, designing the tests, and building the tests can be distributed 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 t

37、he same test repeated manually.7. earlier time to market. once a set of tests has 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 con

38、fidence. knowing that an extensive set of automated tests has run successfully, 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 ef

39、fort, giving increases in both quality and productivity.automating test case designcan 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 app

40、roach is useful in some contexts, but they will never completely replace the intellectual 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 spec

41、ified criteria. however the tool may still generate far too many tests to be run 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 o

42、nly have time to test 30% of what we could test, which are the most important test 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 thorou

43、gh and more accurate than a human tester using the same algorithm, so this is an 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

44、. the best use of test generation tools is when the scope of what can and cannot 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_-_softwa

45、re_test_automation.pdf本科生毕业论文设计题目 基于adobe air的自动化测试与实现 作者姓名 指导教师 所在学院 软件学院 专业(系) 软件工程 班级(届) 级测试班 完成日期 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测试计划的

46、定义64.2测试计划编写84.2.1测试对象84.2.2测试环境84.2.3测试资源84.2.4测试进度94.2.5测试策略94.2.6测试通过标准104.3测试计划评审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性能测试计划2

47、07.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基于adobe air的自动化测试与实现 摘要:随着微电子技术的高速发展,软件的应用无处不在。目前在大众的生活中,软件已经成为了必需品,而作为一件必需品,人们看重的则是使用质量,只有质量过关的软件产品才能在竞争激烈的各种苛刻条件下生存下来。正因此软件测试被引入到软件行业中。在本课题中对ucbook项目进行测试,在熟悉理论知识的基础上结合实际项目,按照测试流程研究课

48、题,在手工测试后使用loadrunner对系统进行性能测试,最后根据测试结果编写测试总结报告。关键词:软件测试,测试流程,性能测试1绪论1.1背景1.1.1项目背景根据前期的调研,本系统进行课前、课中、课后教学全环节的支持。包括老师资源的获取和管理、教案的编写、教学课件的制作、课堂互动教学的支持。系统最大限度的实现易安装、易操作、易维护,与优课数字教室软硬件系统良好集成,运行稳定,安全可靠。ucbook是集备课、上课、测评于一体的系统软件,在ucbook前期版本的基础上具备更加完善的网络功能,支持教师设计课程、创建教学课件,更好的支持课堂教学。1.1.2测试背景微电子技术高速发展使得软件行业渗

49、入各个领域,另外国民经济增长会带动软件的发展,如今软件成为了生活中必不可少的一部分,小到一个小程序的运行,大到国家用于研究的高端电子设备的支持。然而形形色色的软件产品为了能在竞争激烈的市场环境中生存下来,首当其冲的就是软件质量的保证,避免使用中严重的错误发生,增强用户体验,提高软件性能。此时软件测试自然而然的引入到软件行业的大家庭中,一个软件只有通过了测试才能有机会独领风骚。这样就产生了一些很突出的问题:1. 当测试多个(如200个)用户同时登陆某个系统时,如果使用手工测试,将很难模拟,这将消耗大量的人力和物力资源,此举降低测试的效率,增加成本。2. 在进入回归测试时或测软件在不同平台上的运行

50、及功能体现时,如果依然使用手动测试将会降低测试的效率。3. 手工测试无法做到覆盖所有的代码路径。为了解决这样的问题,我们引入自动化测试automated testing。自动化测试:使用一种自动化测试工具来验证各种软件测试的需求,它包括测试活动的管理与实施1。使用软件自动化测试可以提高软件测试的一致性,准确性和测试的效率,而且降低了成本,使得软件得以在用户的期望时间内交付成果。1.2研究现状当今的企业需要掌控关键业务应用的所有功能测试,用来确保业务流程工作是否符合预期结果。通过软件测试测试可以减少成本,从项目中得到更高的投资回报并且降低了风险。另外因为自动化的优势,如今软件自动化测试已经成为了

51、国内软件工程领域中众所周知的技术。通过软件自动化测试,可以打破手工测试的局限性,缩短软件开发测试的周期,使得产品更快的投入市场;提高测试的效率,充分利用了硬件资源;节省了人力物力资源;增强了测试的稳定性和可靠性;提高了软件测试的准确性和精确度,增加了软件的信任度;软件测试工具使得测试工作相对较容易,但是却可以产生更高质量的测试结果;而对于手工测试无法做的性能测试,可是使用自动化测试;自动化测试是软件测试生命周期中回归测试和系统测试的需要。中国的软件测试技术研究起步于“六五”期间,主要是随着软件工程的研究而逐步发展起来的2。自动化测试技术首先是在国外开始使用,在国内是近几年才被引入的技术,但因为

52、成本的原因该技术还没有在各个软件公司中推广开来。由于手工测试的局限性,软件自动化测试必须在软件测试中发展起来。1.3研究内容和方法本课题首先对软件测试的基本概念和测试技术进行简单的阐述。然后以ucbook系统为例,使用理论研究和案例研究,从理论知识到实际运用,从抽象到具体,从广泛到狭隘展开对软件测试的研究。ucbook是一个c/s前台和b/s后台组合的系统,对该系统进行了测试需求分析后做了详细的测试计划后对系统进行功能测试和性能测试。最后对整个测试过程进行测试总结。2软件测试基础2.1软件测试的定义“软件测试”的经典定义是在规定条件下对程序进行操作,以发现错误,对软件质量进行评估2。软件是有文

53、档、数据和程序组成的,所以软件测试就是对软件形成过程中所产生的文档、数据和程序进行的测试,不只是对软件程序的一个测试。2.2软件测试的目的软件测试的根本目的是发现并修改缺陷,提高用户的满意程度,优化软件品质,即为查找错误,满足需求,发现新大陆。grenford j.myers 的观点为“测试时程序的执行过程,目的在于发现错误;一个好的测试测试用例在于能发现至今为发现的错误;一个成功的测试时发现了至今未发现的错误的测试。”2.3软件测试的原则软件测试原则:1. 尽早地和及时地测试2. 测试前应需准备好测试数据和对应的预期结果两部分3. 测试的输入数据中应当包括合理的输入条件和不合理输入条件4.

54、程序提交测试后,应当由专门的测试人员进行测试5. 严格按照制定的测试计划执行,排除测试的随意性6. 应对每一个测试结果做全面的检查7. 充分注意测试当中的群体现象8. 保存测试计划、测试用例、出错统计以及最终分析结果报告,为维护工作提供充分的材料2.4软件测试的分类按照开发阶段可以将软件测试分为单元测试、集成测试、系统测试、回归测试和验收测试。按照实施的组织划分可以将软件测试划分为开发方测试、用户测试和第三方测试。按照测试技术分类可以分为黑盒测试、白盒测试和灰盒测试。2.5测试停止的依据1. 超过了预定的时间停止测试2. 执行了所有的测试用例没有发现缺陷停止测试3. 使用特定的测试用例设计方案作为测试停止的依据4. 正面提出测试停止的要求5. 根据单位时间内查出的故障的数量进行决定是否停止测试3测试需求3.1什么是测试需求对于测试需求就是说在项目中需要测试的内容。我们在测试活动中,首先需要明确测试需求(what),才能决定怎么测(how),测试时间(when),需要多少人(who),测试的环境是什么(where),测试中需要的技能、工具以及相应的背景知识,测试过程中可能遇到的风险等3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论