前言:中文期刊网精心挑选了软件测试项目总结范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
软件测试项目总结范文1
随着计算机软件技术的高速发展,软件测试在软件开发过程中的地位也越来越重要,软件测试是保证软件质量和可靠性的重要手段之一,软件测试人才需求猛增,软件测试已经成为计算机专业的重点专业课程。传统的软件测试教学模式,测试理论和测试实践严重脱节,不能很好的满足软件企业对测试人才的要求。依托广东东软学院的特色教学实践1321教学模式,进行以实践能力和就业能力为导向的课程综合实践探索,深化教学改革,激发学生的兴趣,让学生贴近现实的工作场景中学习,了解在软件开发过程中测试岗位的工作过程和知识要点,培养学生软件测试应用技能型人才培养为目标。
二、软件测试课程实践构建的主要思路
软件综合实践安排在大三课程开始之前的实践学期进行,为期4个星期,每天4学时的实践教学指导,软件测试专业的学生已经学过专业基础课《Java程序设计》、《计算机文化基础》、《网页设计》、《数据库设计》、《软件开发过程实践》,专业课《软件测试概论》、《功能测试》,学生初步具备了参与综合实践的专业素质能力。在综合实践开发团队中,将软件开发专业、网站规划与设计专业、数据库管理专业、软件测试专业和网络技术的同学,以3:1:1:1:1这样的比例进行团队建设,从中选出一位同学兼职项目经理,实现学生自主管理,配备具有双师素质的专业老师,一位教师负责指导5-7个团队的项目开发,当需要进行专业指导时,临时进行专业化实践指导,全方位分阶段、分岗位进行进行全程交叉技术指导,同时邀请合作单位的软件工程师,同步进行项目过程的跟踪,给予学生岗位最精准的实践指导。采用项目驱动的方法开展实践教学,通过开发真实的软件项目,以软件工程开发过程为导向,制定软件综合实践——软件测试方向的实践方案,分阶段进行实践,选择有较强的实践性和创新性的项目给学生选题,选题要贴合实际项目,需求相对容易获取,具有一定的创新性,能够激发学生的学习兴趣。首先需求的调研,需求的评审,编写测试计划,设计测试用例,测试执行,测试记录的跟踪和测试总结报告,对每个测试阶段进行教学设计,不断的将所涉及到的知识点融入到实践中,增强学生职业岗位素养能力,团队合作的意识,同时探索以学生管理学生的模式进行实践探索。
三、软件综合实践测试岗位的工作过程与方法
在软件综合开发实践过程中,对软件测试岗位的同学依据软件工程的理论进行指导,结合企业的工作流程,采用分组的教学模式,采用软件测试常用的W模型,进行教学指导,培养学生的团队合作能力,沟通能力,实践能力。测试岗位的工作主要分成两个三个部分,第一部分是需求的调研和评审,测试计划中测试策略的选择、任务的时间安排和测试用例的设计;第二部分主要是测试执行,安装测试工具,部署测试环境,按照测试所设计的测试用例进行手动功能测试,尝试利用自动化测试工具QTP进行自动化测试,运用所学过的黑盒测试方法,进行web测试,兼容性测试等方法的测试工作,将所发现的问题记录到测试管理平台(QC)的缺陷缺陷跟踪表中,修复后,进行验证性测试,第三部分就是测试总结报告。
四、软件综合实践的考核
1.答辩委员会的组成。立体化全方位的考核方式,采用学生团队答辩的方式进行最终的考核,答辩委员会成员由软件开发方向教师、网站规划与开发教师、数据库管理方向教师、软件测试技术方向教师和企业工程师共同组成。2.软件测试岗位的知识点的考核。每个专业都设计了一套科学有效的评价体系,从三个部分对学生的能力进行全方位评。第一部分IT职业素养能,占总成绩比例的30%,考勤、项目管理能力、文档编写能力、团队合作与沟通能力、演讲与答辩能力;第二部分团队实践成果,占总成绩比例的30%测试环境部署、测试工具软件的安装、测试执行中缺陷报告的跟踪、测试总结报告的编写;第三部分岗位技能成果,占总成绩比例的40%,软件开发过程文档:需求评审报告、测试计划报告、测试用例报告。
五、软件综合实践教学实践的意义
1.软件综合实践项目分组教学的意义2.软件测试岗位同学的收获3.综合实践教学的后续影响4.软件综合实践教学的改革未来方向
作者:张彤宇 李晶 姚庚梅 单位:广东东软学院计算机科学与技术系
参考文献:
[1]罗先录.IT类专业实践教学的三个层次[J].计算机教育,2007(18):14-15.
软件测试项目总结范文2
1高效软件测试团队建设的可行性策略
1.1软件测试团队的特质建设
软件测试团队的素质建设对于整个软件工程质量而言具有非常重要的作用,人是测试工作中最具价值也是最重要的资源。因此,应该积极构建合格的、高质量的合作团队。(1)软件测试以及软件工程开发都需要程序员具备足够的自信心,对软件检测结构以及程序的缺陷要如实汇报。对于软件项目工程中出现的各种问题要认真处理,以此减少客户可能遇到的种种问题。(2)软件测试人员还要具备足够的怀疑精神,对可能存在的漏洞性错误要及时予以检测和纠正,进而提高其自我创造力。(3)软件测试团队要积极构建沟通协调能力。可以通过与客户进行必要的沟通来及时发现软件运行中存在的不足之处,其中测试者可以针对模拟环境下用户对于软件环境的应用情况进行科学分析,以此对软件编写过程和总结文档进行反复检查检测,提高软件的运行效率和正确性。(4)必备的检测技术能力。软件测试团队必须具备重要的专业技能,需要精通数据库、通信、网络、GUI测试、测试工具、自动化测试脚本和相关业务领域等,以此全面提升他们的测试能力和测试积极性。
1.2软件测试团队的制度性建设举措
一个优秀的软件测试团队必定拥有一套完善的团队管理制度,拥有明确的职责分工和高端测试人员,通过不断规范团队管理制度,做到扬长避短,及时提升整体测试质量。其中,软件测试团队需要不断加强汇报制度建设、工作总结制度建设、奖惩制度建设、测试审核制度建设、会议制度建设等,通过科学合理地分配职责关系来进一步强化团队成员的素质建设。在此过程中,还要注重对于资深测试人员的正确引导和建设,加强彼此间的沟通交流,不断丰富团队的测试知识库,通过科学吸收先进的测试管理知识来提升整体测试技能和技巧,以此减少开发团队协同工作中的一些领域瓶颈。
2结语
软件测试项目总结范文3
[关键词]软件测试 课程体系 教学改革
[作者简介]李静(1969- ),女,陕西兴平人,河北北方学院信息工程学院,副教授,硕士,研究方向为教学设计、操作系统与软件测试;赵志升(1965- ),女,河北张北人,河北北方学院信息工程学院,教授,硕士,研究方向为教学设计、软件工程、数据挖掘。(河北 张家口 075000)
[中图分类号]G642.3 [文献标识码]A [文章编号]1004-3985(2014)02-0135-02
软件测试技术近年来发展迅速,已经成为与软件开发齐头并进的专业技术。软件测试工程师承担产品功能、性能、可靠性、易用性等全方位测试,保证产品质量,满足用户需求,保证企业信誉,是当前IT业界需求量骤升的热门人才。目前我国软件产业在产品功能和性能测试领域仍然存在着严重不足,软件测试的广度和深度已成为影响企业生存与发展的核心问题。培养大量的具备专业素养和高层次技能的测试人才,更好地推进我国测试行业和测试技术的长足发展,是高等院校必须担负的职责。
一、国内软件测试专业教育现状
自2000年软件测试技术在我国兴起至今十余年,软件测试人才随着软件行业的迅猛发展呈现出供不应求的态势。专业的软件测试机构、测试网站及测试技术培训机构等迅速发展起来。目前,国内许多高校已经逐步设有本科阶段软件测试方向的专业。2011年11月,由教育部主办的“2011年高等学校软件测试课程教学论坛”在上海同济大学召开,对国内软件测试人才的培养及测试领域的全面发展起到积极推动的作用。
1.社会培训模式与现状。当前国内业界一些知名网站主要承担起测试人才的培养职责,如51testing、达内科技、北大青鸟等,为测试行业输送了大批动手能力较强的测试人才。针对性很强的短期教育模式是社会培训的特色。培训机构通常按照助理级、初级、中级和高级测试人员安排培训内容。诸如北大青鸟等规模较大的培训机构引进欧美的混合教学模式,采用“理论知识+分模块项目实践+全真项目实训+职业素质训练”的模式,形成一个科学并且实用的培训体系。培训机构通常设立自己专用的教学平台,通过网络远程授课与集中化分期分班授课方式,在半年到一年的较短时期,培训出上岗快、操作熟练、针对性强的应用人才,而且很多学员直接通过测试工程师面试,并在后期工作中累积了较深厚的测试经验,成为测试领域的支撑力量。培训课程主要内容涵盖操作系统管理、网络应用与Web编程、数据库管理等专业课程,实训环节应用主流的测试工具,如Winrunner,Loadrunner,Rational Robot等。着重于实用性的项目实践和开发是培训机构与高校教育的最大区别。参加这些培训班已成为目前大学生岗前培训的主要途径。
2.高校专业教育现状。软件测试技术要得到广泛应用和深入发展,不能仅依靠社会办学,高校系统化的专业教学体系能够为学生奠定一个更加扎实和科学的专业基础,并对测试技术本身的学科化发展起到不可替代的作用。近三年来,软件测试技术作为专业课程逐渐在多所高校开设。目前,多数高校将“软件测试技术”作为一门独立课程设置,交叉课程主要为“软件工程”。当前一些高校开始申报软件测试专业,但是软件测试技术的学科化发展目前仍受到诸多因素的影响。主要是:(1)缺乏丰富的理论支撑。软件测试目前仍是发展中的计算机技术,专业论著少,适合于高校的教学材料非常有限,并且普遍存在知识结构不合理,教学内容不规范统一,论点少并缺乏依据,实验指导教材匮乏等问题。另外作为一门独立学科,与其他学科的交叉与相辅是理论体系的必要部分,测试技术与计算机领域诸多技术关联,相互结合教学是当前教改面临的问题。(2)目前通用性测试平台仍未完善发展与普及,在高校中缺乏结合教学实验内容的通用的实践平台,实验环境单薄。多数高校停留在泛泛讲授几个热门的测试工具的阶段,缺乏成熟、实用的测试环境来实践完整的测试项目。(3)教学模式上存在严重缺陷,专业培养过程中存在大量的不规范性和随意性。主要表现在:实践课程比例小,测试项目实例缺乏;理论课程知识结构不合理;教学理念和手段陈旧,脱离测试技术发展的实际与市场应用;不重视对学生从事软件测试职业素养的培养。尖端技术的学科化发展是高等院校的职责,建立一个科学、完整的专业教学体系是高等教育最为核心的问题。
3.当前推进测试技术应用的其他途径。除了专业公司培训和高校培养外,当前软件测试行业的发展还依赖于多种良好途径:校企合作、技术沙龙、测试专业微群、社会信息辐射等。新兴技术发展需要社会传播产生的广泛影响力来推动。以MPD(亚太软件研发团队管理)峰会、51testing等领衔的线下技术沙龙活动和巡回演讲,聚集了很多高端的测试人才,相互学习交流,积极推进软件测试行业的发展。一些较有影响的网络微群提供测试技术的交流和分享,如软件测试、敏捷测试、落地微群等,大量的测试人员和测试工程师提供测试过程管理、测试工作总结等资料,有很强的借鉴性。
软件测试行业的人才匮乏仍然是当今的重要问题。依照行业需求,软件测试人员配备应是软件开发人员的2倍,而目前我国软测人员与开发人员比例却仅在15至18之间。以高等院校专业教育为主,实现多种途径的人才培养是当前软件测试行业的当务之急。
二、高校软件测试专业课程体系建设
构建专业课程体系,需要设置好基础课与专业课、理论课与实践课、必修课与选修课的比例关系,并合理安排与协调课程相互间的分工与配合。建设科学完整的软件测试专业的课程体系是一个需要多方考证借鉴和不断探索完善的工作。
1.课程设置。软件测试是一门技术性很强的专业,对专业素养要求很高。在测试模式、测试方法上与软件开发的模式、开发平台直接相关。学生必须对操作系统、软件的逻辑结构以及物理存储过程、操作实现方法达到一定深度的了解和掌握,对于硬件的拓扑结构、物理结构要也需要尽可能多地熟知。在软件测试行业,对优秀人才的要求是拥有高敏感能力、高发散能力、高分析能力,而这些都是以扎实的理论基础为前提的。建设软件测试专业课程体系,应契合技术发展、学科发展与从业需求。经过多方考证,下表所述课程囊括的专业知识对于高层次的自动化软件测试技术的掌握必不可少。
由于计算机专业课程的关联性很强,一些专业课程可以相互结合教学。比如语言类,Shell等可以结合到UNIX/Linux操作系统课程中,HTML/XML可结合到.NET以及网络技术等课程中,PHP融入Web服务器配置等专业选修课程教学中等,避免专业内容交叉而造成的重复教学现象。在教学过程中,要将软件测试的思想广泛地渗透到所有的专业课程中。如在各类程序设计语言基础课程中引入单元测试的思想,在软件工程课程中强调软件测试的重要性,增强软件质量管理意识。当前微软、苹果、惠普等软件公司都推出完整的计算机应用与开发平台,从硬件、操作系统、集成开发环境到用户应用软件,基本上提供一条龙服务。以微软为首的测试框架开发也日趋成熟。高校需要从专业建设角度考虑,把握学科发展方向,汲取众家之长,将尖端技术和主流应用平台作为专业教学内容,在有限的学时之内统筹安排,让学生形成一个专业学习的整体思想,做到知识累积层次清晰、得到一个完整的专业知识体系。随着测试技术的快速发展,课程设置需要不断更新调整,既要考虑专业建设、学科建设,又要考虑市场需求和研发需求。合理选择、科学地纳入新知识到专业课程中,是需要不断探索和改革的无止境的工程。
2.教材选择。教材选择应当宽口径,除了主要教材之外,要为学生提供更多的辅助教材和资料,给学生自主学习的空间和时间。这方面要学习西方高等教育的模式,按照教学计划和教学内容,指导学生分期、分阶段大量阅读与课程相关联的专业资料,并汇总论点和典型实例展开讨论,开阔学生的眼界,培养学生独立思考、逻辑分析能力和探索精神。另外,教材选择应把握专业技术的最新发展,与专业领域的最新研究成果、社会培训资料等结合,及时更新教学内容。例如有经验的测试工程师撰写的技术开发、测试报告与测试总结等书籍资料,是完善和填充教材的重要知识源。
3.实验教学规划。(1)实验教学内容,应包括两部分:测试框架应用和测试项目实践。前者是指基于实验室配置的测试框架,选择针对操作系统或者客户端软件、网站等的服务性能测试案例,编写一些通用的测试脚本,在测试框架上实现完整的测试流程。后者是指选择实际的软件测试项目来组织实验教学内容。在测试项目实践中,需要提供给学生被测试的软件系统代码以及软件开发综述,包括需求分析、概要设计书、详细设计书等文档,便于学生真实地模拟实际工作中的测试流程。项目实践中,可将学生分成若干个项目组,分别设置测试经理、测试负责人、测试人员等角色,依照测试用例设计、测试任务管理、测试计划实施、测试过程监控、测试日志与测试报告管理环节,安排角色各司其职,协同完整测试项目,并对被测软件系统做出质量评审,撰写格式规范的质检报告。通过实验教学,使学生深入理解和掌握常用测试工具,如单元测试工具NUnit等应用,提升学生的项目管理经验和软件测试技能。(2)实验教材选择:实验教材选择应参考社会培训机构的项目实训资料,选择基于主流测试平台的项目实例教程,并结合测试技术的应用发展现状和高校测试环境,广泛筛选辅助资料,设置测试项目,丰富实验教材的内容。(3)实验环境配置:搭建面向高校教研的通用测试环境。当前各类测试平台及测试工具不断推出,种类繁多,但针对性较强,应用性能受到限制,缺乏可被广泛普及的通用型测试平台,导致测试过程缺乏通用性和稳定性、测试标准设定和测试价值评估无法明确等问题。建立一个通用测试环境对高校的实验教学和专业研究十分必要。通用测试环境应囊括软件测试管理平台、回归测试平台和性能测试平台功能。提供软件的文档审查、安装测试、功能性测试、易用性测试等测试项目,并能提交形式内容规范的测试报告。通用测试环境搭建需要高校结合专业研究项目实施二次开发。
三、面向从业需求的教学改革
1.注重面向市场应用的课程体系改革。为了更好地为社会培养应用型人才,高校应以企业岗位能力需求为标准,不断进行课程体系改革,构建“知识+应用+研究”的混合型课程体系结构,为学生从业后尽快适应工作岗位,担负起科技职能,并进一步从事测试技术开发与研究奠定基础。软件测试课程体系改革应基于不断发展的测试技术以及社会测试岗位的能力需求,从培养学生专业素养、测试技能、项目分析能力、探索开发能力等全面素质的高度进行必要的整合和重组,把学生应具有的知识、能力、素质结构作为课程体系改革的依据,组建模块化的课程结构。
2.注重面向从业需求的教学实践改革。面向从业需求,加强教学实践环节是高校实验教学改革的重要内容。目前很多高校与自己的合作企业签订培训合约,建立人才基地,共同开发软件和培训人才、交流人才,是教学结合实际应用的最佳模式。围绕着以企业需求为目标进行实验教学,使学生在真实的项目流程中对软件测试的完整过程与实施细节、管理机制与管理措施进行全面的了解,提高测试能力和积累测试经验,便于学生日后尽快适应实际工作,在专业技术岗位发挥人才作用。
3.注重培养学生的职业素养。高等教育为社会输送专业技术人才,不能忽视对人才职业素养的培养。在教学过程中要把专业素养、技能训练和职业素质培养有机结合起来。在学生实践与实习过程中,注重培养学生综合运用所学知识发现问题、分析问题、解决问题的能力,进而培养学生的技术应用和技术创新能力,并培养学生的团队合作精神和相互协作能力,提高将来从事测试行业的职业素养。应结合社会对软件工程师的岗位需求,设立面向毕业生的专项系列讲座,为学生提供面试技巧培训、竞争意识培训、沟通与协作技巧培训和就业指南等,是极具实效且必要的教育内容。依照国外标准,软件测试工程师应与架构师处于同一等级。从事测试行业必须具备扎实的专业基础、综合的个人能力和较高的职业素养,才能真正实现高端的自动化测试。
[参考文献]
[1]朱少民.软件测试方法和技术[M].北京:清华大学出版社,2005.
[2]钱丽.以就业为导向的软件测试课程体系改革探析[J].科技信息,2012(1).
[3]顿煜卿.软件测试教学过程中的思考和实践[J].计算机光盘软件与应用,2012(14).
软件测试项目总结范文4
关键词:项目;软件测试;黑盒测试
随着软件产业的发展,软件测试被越来越多的软件企业重视,很多软件企业还设立了专门的软件测试部门,对软件测试人员的需求量非常大,而真正能符合软件测试的人员却很短缺。所以,软件测试技术作为高职软件技术专业的一门专业课程,教学模式的改革势在必行。传统的软件测试课程以测试的理论知识为主,忽视了软件企业中真实测试岗位的要求,造成课堂教学与测试岗位需求的不一致。本课程以企业软件测试工程师作为主讲教师,将企业中实际测试项目作为教学项目,为学生提供个尽量真实的软件测试环境,让学生真正参与到测试中来。通过学习该课程,让学生了解软件测试的基本过程,掌握单元测试、功能测试、系统测试的一般步骤和方法,并能够进行相应测试。
1 测试项目的选择
在基于项目的课程设计中,测试项目设计是一个关键环节。本课程确定以项目作为载体的设计思路后,选取企业中实际测试的项目作为教学项目,这样的项目既有在企业中应用的普遍性和典型性,又能有效地促进学生职业能力发展,达到本课程的教学目标。在本课程中选择“能力验证样品软件”作为测试项目。
2 测试项目的实施
2.1 测试环境的搭建
在软件测试企业中,测试人员作为软件项目开发的一分子,为了及时、有效的与程序设计人员进行沟通,通常应用BugFree来实现缺陷管理。BugFree是基于PHP和MySQL开发,免费、开源的缺陷管理系统,通过该软件能很好的协调开发人员、测试人员和需求三方的关系,规范软件的研发流程。
2.2 测试小组的确定
在项目测试过程中,以教师引导、学生自愿为原则,每五人组成一个小组,每个小组的总体能力、水平相当,并保证每个小组至少有一名组织能力较强的学生作为组长,负责协调教师与学生、小组成员之间以及小组之间的关系等工作。测试组成员一起讨论本组的测试计划,根据软件的需求规格说明书,制定详尽的测试计划,一起搭建测试环境,同时测试组长对测试小组成员的工作进行分工,测试组长负责本组测试的全面工作,并且严格地按照测试计划执行。
2.3 测试的执行
(1)测试项目引入。在测试开始前,教师演示预测试项目,并对照“需求规格说明书”,明确此次测试的任务:完成对系统的功能测试,并通过BugFree来实现测试用例的管理和缺陷的管理。任务实施前,教师先演示一个缺陷的查找过程,让学生看到真实的“缺陷”,从而产生跃跃欲试的感觉。然后让学生在没有掌握查找缺陷的方法情况下,用自己的常识进行缺陷的查找。
(2)黑盒测试知识的导出。黑盒测试的两个关键技术:等价类类划分法和边界值分析法。等价类划分法是一种重要的、常用的黑盒测试方法,它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。边界值分析法通常是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
(3)在理论知识的指导下进行缺陷查找。在黑盒测试理论的指导下,科学、有效的进行测试用例的设计。为便于学生的学习讨论和测试用例设计,课程教学直接在有职业氛围的软件技术实训室进行。
(4)考核标准和考核方法。该课程的考核重点放在了对学生学习过程的考核上。每个任务都有明确的考核标准。待学生完成任务后,教师对学生完成的任务成果进行点评,并对任务的完成情况进行总结。作为该部分教学,会让每组同学展示其缺陷列表,通过查找到的缺陷的数量和级别作为评判标准,同时结合平时表现,综合给出项目任务的成绩。最终的考核评价成绩由4个部分组成:平时表现10%,每次完成项目任务的情况25%,课程实训25%,综合技能考核40%。
3 项目教学的效果
3.1 采用项目教学法,提供学生专业技能
项目教学是指学生在教师的指导下完成一个典型项目的过程,在项目完成过程中学习知识和技能。学生通过解决在项目中遇到的问题,提高了学习兴趣,调动了学习的积极性和主动性。项目教学注重的是完成项目的过程,而不是最终结果。
3.2 采用分组教学法,提高学生团队意识
在教学过程中,我们把班级同学分成若干个项目组,每个同学在小组中担任不同的角色。
3.3 采用企业管理模式,促进学生零距离就业
通过校企合作,将企业的运行模式引入到课堂中来。请企业里有经验的软件测试工程师作为主讲教师,将企业里有代表性的真实项目作为测试项目,并搭建企业中的测试环境,让学生尽可能多的融入到真实的测试环境中,从而促进学生零距离就业。
[参考文献]
[1]朱雷.软件测试技术课程项目式教学的探索与实践.辽宁高职学报,2011年第9期,52-54.
软件测试项目总结范文5
随着信息化军事技术的不断发展,装备仿真训练软件也获得了迅速的发展,其规模越来越庞大、实现的功能越来越多、结构越来越复杂,装备仿真训练软件的性能和可靠性也成为至关重要问题的。因此,软件测试成为装备仿真训练软件开发过程中一个必要的环节。依据一个科学的测试模型,使用先进的软件测试技术对装备仿真训练软件进行充分的测试,可以及时发现软件程序中的错误,有效降低软件错误出现的概率,验证软件功能的可行性,提高软件的可靠性和安全性。
1 软件测试模型
软件测试是装备仿真训练软件开发过程中一个不可缺少的重要步骤,而且随着装备仿真训练软件规模的增大、复杂度的增加,软件测试也变得越来越重要。装备仿真训练软件软件测试过程与开发过程一样,都能决定软件的质量,而且测试过程的质量将直接影响测试结果的准确性和有效性。
在软件开发几十年的实践过程中,人们总结了很多的开发模型,这些模型对于软件开发过程具有很好的指导作用,由于测试与开发是紧密结合在一起的,所以软件测试也需要有测试模型去指导实践。软件测试模型是将测试过程活动进行抽象的概念模型,用于定义测试活动的流程和方法,是确保软件工程质量的重要手段。测试专家通过实践总结出了很多很好的测试模型。这些模型将测试活动进行了抽象,明确了测试与开发之间的关系,更好的分析软件测试在整个软件研发中的参与度和工作过程,进而不断完善软件质量保证流程,提高软件产品的质量,并成为了测试管理的重要参考依据。目前,主要的测试模型主要有以下4种:
1.1 V模型
V模型是将传统测试模型瀑布模型改进后的一种测试模型,如图1所示,从左到右,分别描述了软件的基本开发过程和对应的测试行为,清楚地体现出每个测试阶段和开发过程各阶段的对应关系。但是在V模型当中,测试过程放在了编码的下一个阶段,这就容易使人误解为测试是软件开发的最后一个阶段,而需求分析的检验工作也是在验收测试才能进行。
1.2 W模型
W模型由两个V模型组成,分别代表测试与开发过程,非常明确的标注了生产周期中开发与测试之间的对应关系,如图2所示。但是在W模型中测试和开发也保持着一种线性的前后关系,上一阶段工作完全结束,才能正式开始下一阶段的工作,这样就无法支持迭代、自发性以及变更性调整等情况。
1.3 H模型
H模型形成了一个完整独立的测试过程,并且将测试准备活动和测试执行活动清晰的区别出来,如图3所示。图中仅仅演示了在整个生命周期中某个层次上的一次测试“微循环”,图中的“其他流程”可以是任意开发流程。H模型的特点是软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。当某个测试点就绪时,软件测试即从测试准备阶段进入测试执行阶段。
2 装备仿真软件测试的特点及关键问题
2.1 装备仿真软件测试的特点
装备仿真训练软件是一个由系统、分系统/子系统、模块组成的复杂系统,并随着系统和操作功能的增多,复杂程度也在增加,系统的好坏归根结底是由各个分系统和各个模块的好坏决定的,对各个分系统和各个模块的测试是一个非常重要的环节。装备仿真训练软件测试具有以下6个特点:
2.1.1 装备仿真训练软件测试主要分为三个阶段
从软件生命周期全过程来看,软件测试可分为单元测试、功能测试、集成测试、性能测试、系统测试、配置测试、回归测试等阶段。根据装备仿真训练软件的结构、规模、类型和安全性关键等级等方面的特点,确定装备仿真训练软件测试主要分为单元测试、集成测试和系统测试三个阶段。
2.1.2 单元测试是装备仿真训练软件的测试重点
装备仿真训练软件测试是一项针对性很强的工作,即使对同一类型的功能,可能由于不同型号任务的要求,功能实现也会有所差异,因此要求重点进行单元测试。单元测试是根据详细设计和源程序,了解每个最小模块的输入、输出条件和逻辑结构是否正确合理。单元测试通常应对模块内所有控制路径设计测试用例,以便发现错误。
2.1.3 装备仿真训练软件程序内部结构复杂,路径组合数目庞大
程序的三种基本结构分别是:顺序结构、分支结构和循环结构,装备仿真训练软件最小组成模块的内部程序都可看作是这三种结构按不同方式组合的产物,这其中包含大量多重选择和循环嵌套的程序,而且模块与模块之间存在着大量的交互,所以程序内部包含的不同路径数目可能是天文数字,尤其对大规模复杂的装备仿真训练软件,穷举所有的路径是不可能的,需要根据实际情况去选择适合的覆盖测试方法。
2.1.4 装备仿真训练软件黑盒测试用例数量庞大
装备仿真训练软件中包含了不同专业的多个分系统,每个分系统又由多个子系统和模块组成,其中包含的参数数量庞大,参数与参数之间的进行组合之后的数量将更加庞大,而软件运行出现的故障时,更多的情况是由于多个参数的相互作用的原因,所以,要想充分考虑到参数与参数之间的关系,需要的测试用例数量是无穷尽的。
2.1.5 装备仿真训练软件测试一般需要特定的测试环境支持
装备仿真训练软件测试可以采用静态测试方法和动态测试方法。其中,静态测试以人工检查为主,不需要特定的测试环境;而动态测试则需要建立驱动软件模块执行的测试环境,支持软件模块的参数输入和输出结果的可视化。
2.1.6 装备仿真训练软件测试一般采用白盒测试与黑盒测试相结合的方法
一般采用白盒测试方法来测试装备仿真训练软件程序内部的逻辑结构;装备仿真软件的功能测试部分则需要采用黑盒测试方法。
2.2 装备仿真软件测试的关键问题
软件测试的目标是发现软件中可能存在的设计缺陷和错误。测试时验证得越全面,软件中可能存在的缺陷就会越少,而每一个项目、每一个软件的测试都会有不同的特点和测试关键问题,测试工作要根据软件的特点和关键问题,设计适合该软件的测试。装备仿真训练软件测试的关键问题主要有以下4点:
2.2.1 测试工作必须由非开发人员来完成
由于许多开发单位对软件测试的认识水平不够,自己设计、自己编程、自己测试、自己维护的现象还比较普遍,这样的结果就是导致测试结果不理想,没有达到测试的要求。所以,为了保证测试质量,装备仿真训练软件的测试工作必须由非开发人员来进行,保证的效果。
2.2.2 在白盒测试中,采用基本路径测试方法解决路径覆盖率问题
在装备仿真训练软件结构中,路径组合是一个庞大的数字,所以要在测试中覆盖所有路径是不可能的,需要把覆盖的路径压缩到一定范围内。如:程序的循环部分可以只循环一次。因此,在路径覆盖测试上,我们选择基本路径测试法。
2.2.3 在黑盒测试中,采用组合覆盖测试方法解决测试用例无穷尽问题
由于装备仿真训练软件中参数与参数的组合数量庞大,无法设计无穷尽的测试用例满足覆盖率问题,为此,采用组合覆盖测试方法,不仅可以充分考虑到软件中参数与参数之间的相互作用,更重要的是能以最少的测试用例实现最大程度的覆盖,具有较好的测试效果。
2.2.4 要有必要的测试文档
没有文档的项目是一个不成功的项目,同样,没有文档的测试也不会是一个成功的测试。测试工作的计划、设计、实现和问题报告都要以文档的形式记录下来留存,方便同项目组人员进行阅读和修改,更重要的是对于后续同类项目是资源的积累过程和设计的改进依据。
3 装备仿真软件测试模型
测试过程模型定义了测试的流程和方法,为测试工作提供了指导。但是传统的测试模型各有长短,不可能适合所有的测试软件,软件测试模型因测试软件的不同而不同,所以,本文通过对传统的测试过程模型进行的分析和探讨,同时研究分析了装备仿真训练软件的实际情况,进而得到了适合装备仿真软件的测试模型,然后从该模型出发,完善软件测试工作流程。装备仿真训练软件测试模型是一个包含了软件文档审查、代码静态分析和审查、单元测试、子系统集成测试、系统测试和验收测试的综合测试模型,如图4所示。
3.1 测试准备
测试准备阶段是在测试实施之前,构造执行测试所需的要素,这些要素通常包括软件开发文档、软件开发程序、实际执行测试所需的软件、准备测试环境和测试工具;同时还要为测试过程准备适当的测试用例。
3.2 单元测试
装备仿真训练软件单元测试部分包含静态测试和动态测试两个部分。其中静态测试的对象是装备仿真训练软件单元模块的文档和程序代码,主要通过文档审查、代码审查、代码静态分析等方法来确保软件需求和设计文档的正确性、代码的规范性、设计或实现的正确性。而软件结构和功能方面的缺陷则需要采用动态测试的方法来完成。
装备仿真训练软件单元模块动态测试采用黑盒测试和白盒测试相结合的方法,从模块级检查软件的功能、性能、接口和其他约束条件是否满足需求。白盒测试技术主要测试每个单元内部逻辑结构的覆盖率,黑盒测试技术测试模块单元功能满足需求情况。
3.3 集成测试
集成测试主要检验装备仿真训练软件中经过单元测试的模块和子系统各部分工作是否实现了相应技术指标、达到了相应的要求。在装备仿真训练软件集成测试部分,既可以弥补单元测试中没有测试到的Bug,又可以测试单元测试中没有办法测试的功能,如装备仿真训练软件中前后台集成之后的关联功能。所以集成测试就是测试各个部件之间的配合情况,为系统测试提供基本保证。
装备仿真训练软件的集成测试必须在所有模块、子系统能够正常运转的情况下才能进行,一般采用的方法是数据驱动方法中的自底向上集成测试。具体的步骤是先测试组成子系统的模块群,由于最底层的单元模块都已经经过了单元测试,所以各个模块可以向上集成为各个子系统;然后在此基础上就可以测试各个子系统能否正常工作,以及进行各个子系统之间的测试工作。
3.4 系统测试
装备仿真训练软件的系统测试是在集成测试的基础上进行的,不仅是单纯的测试软件部分,而是将硬件、网络和外设等其他要素结合进来进行综合性测试。系统测试主要依据系统总体技术方案和需求说明书进行测试,目的是发现系统与用户需求不符或矛盾的地方。
系统测试的测试类型一般包括功能测试、性能测试、负载测试、强度测试、容量测试、安全性测试、用户界面测试、有效性测试、配置测试、故障恢复测试、安装测试和回归测试。而在装备仿真训练软件的系统测试中,功能测试、性能测试、负载测试、安全性测试、有效性测试、配置测试、故障恢复测试是必须进行的,其他项目可以依据具体项目情况选择性的进行。
3.5 验收测试
在完成装备仿真训练软件的系统测试之后,进行验收测试。只有通过了验收测试,才标志着项目的结束,软件产品的完成。一般来说,验收测试以用户为主,主要验证软件的功能、性能以及其他特性是否与用户要求相一致。
4 结束语
软件测试的目的是通过测试来发现缺陷,找出缺陷的分布特征和出现的规律,以便在新的开发项目中改进设计结构,避免缺陷的出现,同时也能够通过设计有针对性的检测方法,改善软件测试的有效性。随着装备仿真训练软件质量要求的提高,软件测试在软件开发中的地位越来越重要。装备仿真训练软件测试模型是从传统的软件测试模型中提取出来的,适合装备仿真训练软件的测试模型,不仅可以提高测试在软件生命周期中的作用,还可以完善软件部分的工作流程。
作者:钟尚斌 来源:电子技术与软件工程 2016年7期
软件测试项目总结范文6
软件测试过程一般来说,软件测试工作从立项后就开始了,主要经历以下几个主要环节,如图1所示。需求分析是软件测试的1个重要环节,测试人员对这一环节的理解程度将直接影响后续测试工作的开展。一般而言,需求分析包括软件功能需求分析,测试环境需求分析,测试资源需求分析等。测试计划的依据主要是项目开发计划和测试需求分析结果而制定,测试计划指导整个测试过程。测试设计在测试活动的各个阶段,对测试策略、测试方法、测试用例进行制定和编写。测试环境搭建要尽可能模拟实际应用场景,满足项目的设计要求,从而达到理想的测试效果。测试执行和测试记录由测试工程师完成,主要是查找软件的错误和缺陷,并记录测试活动中出现的问题。缺陷管理是对测试活动中出现的BUG进行管理和跟踪,保证每个BUG得到及时修复。软件评估是在测试活动的最后,对软件进行全面地分析和总结。
铁路产品开发过程中容易忽视软件测试
铁路产品供应商普遍重视占领市场份额,追求利益的最大化,提升产品的服务质量,但是却容易忽视保证产品质量的软件测试,这给铁路安全运输带来巨大安全隐患。项目的开发过程通常是确定项目负责人和项目参与人、项目的方案以及项目需要完成的时间,然后投入项目的开发。研发过程中采用团队协作,项目分工到人,经过程序编写、调试,最后集成为产品,并在实验室和现场环境下进行测试实验。对于项目进展情况的掌握是通过不定期的召开会议和单独询问主要开发人员以及研发人员汇报来实现的。
在这种开发模式下,因为项目的开发过程中没有系统和独立的测试过程,所进行的测试也是以正向思维为主,重点验证软件是否实现了相应的功能,而不是软件在异常情况下的响应和处理。软件开发和软件测试本来就是不同的活动,开发人员的工作目标是创建相应模块,实现特定功能,从而会不自觉地朝这个方向努力,挑选那些使程序出错可能性较小的测试数据和手段,无法保证软件被全方位进行测试,会给项目带来隐患。正是认识到这一情况,才大力主张产品开发应进行科学和规范性管理,加强软件测试队伍建设,任命专职人员从事测试工作。利用软件领域中的相关技术,对软件进行科学、合理的测试。
如何在企业内部实施软件测试
企业想要在产品开发过程中,对产品软件展开相关测试,首先应建立合适企业特点和开发模式的测试流程;其次,对不同测试阶段和不同产品的软件和硬件的特点,拟采用不同的测试技术和策略。另外,在产品开发过程中,项目的配置管理、质量保证的等方面都应形成明确的制度。
1测试流程
企业应全面规范项目开发管理流程,对项目进展的各个阶段进行明确划分。软件测试是建立在软件开发的成果之上,即测试的对象就是软件开发的阶段性成果,如设计文档、程序代码和可执行的程序。
软件测试和硬件测试的侧重点有所不同。对于软件测试,采用比较通用的测试流程,如图2所示。软件项目的开发从项目立项开始,测试人员介入项目组,明确需求分析阶段的用户需求,针对不同测试阶段的工作重点,制定各阶段的测试计划。在设计测试阶段,测试人员需要确定各测试阶段的测试方法和必要的测试工具,搭建测试环境,编写相应的测试用例。接下来,按照测试计划分别进行单元测试、集成测试和系统测试,形成各阶段的测试报告,对测试过程中发现的缺陷进行跟踪,保证缺陷得到及时修复。为了保证软件在现场环境下能够正常运行,测试人员针对现场实际情况,制定现场验收计划,确定现场验收策略,对软件进行现场验收和评估。当软件通过了各阶段的测试,且全部缺陷得到修复,将进入到软件的阶段。软件阶段通过对软件版本的管理和控制,实现软件、维护和升级等。
对于硬件测试,需要面向硬件编程,即在硬件环境下,编写代码,实现采集、控制、通讯等功能。由于硬件产品的开发不能脱离硬件环境,因此,测试活动与硬件产品开发、过程调试、硬件联调都是密不可分的,软件测试作为硬件产品开发过程中的重要环节,“验证”和“确认”产品满足项目的设计需求,硬件产品开发流程如图3所示。硬件产品的开发,首先要明确硬件需求,预计产品达到的效果。在硬件总体设计阶段,获取硬件需求,并根据功能进行模块划分,定义模块之间的接口。在详细设计阶段,对各模块进行编程,搭建相应的硬件电路。过程调试可分为:软件过程调试和硬件过程调试两种,软件过程调试指的是在硬件电路的环境下,进行软件调试的过程,保证软件能够正确控制硬件电路和读取相应数据;硬件过程调试指的是产品电路部分的调试过程,验证电子器件之间逻辑是否符合系统设计要求,保证硬件产品稳定、可靠,不受干扰。各硬件功能模块调试成功后,需要进行整体硬件联调,各硬件模块被连接成1个整体,形成产品的雏形,在此阶段,主要验证各模块之间的接口是否符合设计要求,是否能够实现系统设计的各项功能。硬件产品经过整体联调后,形成样机。测试工程师根据产品的硬件需求说明,制定测试计划,确定测试方案和测试方法,并搭建测试环境,对样机进行硬件测试,确认产品符合硬件产品设计要求。
2软件测试技术在各阶段的运用
在软件测试实施的各个阶段,所采用的测试方法和测试策略也各不相同。下面对于测试过程的各阶段进行分别叙述。
2.1设计和代码审查
设计审查是由项目组和测试组成员组成评审组对软件设计和开发的输出进行评价,以判断确定设计和开发的输出能否实现软件产品预先定义的规格,同时通过审查标识出与项目需求之间的偏差。设计审查按《项目计划》所规定的评审点进行。因临时变更引起的突发性的评审随时进行。代码审查实际上属于静态测试。在代码审查之前,首先要对代码进行静态分析,其目的是通过对源程序分析、目测,但不执行程序,找出源代码中可能存在的错误和缺陷,对程序设计的结构属性,如分支、路径、转移等进行审查,尽可能地掌握程序的结构,为单元测试的测试用例的设计和执行提供信息。代码审查的目的是检查源程序编码是否符合详细设计的编码规定,确保编码与设计的一致性和可追踪性。检查的方面主要包括:书写格式、子程序或函数的入口和出口,数据,参数,程序语言的使用,存储器的使用,可读性,逻辑表达式的正确性,代码结构合理性等。静态分析和代码审查通常可以同时进行,通过静态分析掌握源程序结构,通过代码审查,尽量减少书写错误和隐含的逻辑错误,为单元测试提供比较稳定的环境。
2.2单元测试
单元测试是软件测试的基础,集成测试、系统测试都是建立在单元测试之上。单元测试是用来检验每个软件单元能否正确地实现其功能,满足性能和接口要求,还要验证程序和详细设计说明的一致性。从广义上来讲,单元测试包括静态测试和动态测试。静态测试就是上面介绍的“代码审查”,而动态测试则是通过测试用例、测试工具来执行程序,检验程序是否存在缺陷的过程。单元测试一般采用白盒测试方法,手工测试和自动测试相结合,针对程序内部的结构和逻辑来展开,单元测试工具一般针对不同编程语言和开发环境而设计开发的,种类很多。我们利用白盒测试进行代码测试,利用黑盒测试进行功能性测试,利用回归测试保证维护代码的完整性。单元测试工具固然有用,更重要的是测试策略,以及测试用例的设计。这也提醒我们在做单元测试的过程中,不可避重就轻,要抓住项目核心,进行科学、有效的测试,只有这样才能达到事半功倍的效果。
2.3集成测试
集成测试阶段采用白盒测试和黑盒测试相结合的方式,将每个独立的功能模块进行关联和集成,便于进行功能测试、界面测试、结构测试、数据正确性测试等。在进行集成测试前,测试工程师要搭建测试所需的硬件和软件环境,尽量模拟设备实际的工作环境。结合项目的不同特点,测试过程可以采用手工或自动测试。在进行多次重复测试和回归测试的情况下,可采用自动化测试工具对软件进行功能性检测。
2.4系统测试
在系统测试阶段,不仅要进行功能测试,还要对系统的性能、安全性、兼容性和可靠性等进行测试,系统测试涉及人机交互和复杂逻辑,因此系统测试多采用黑盒测试的手工测试方法。系统兼容性测试要考虑软、硬件的兼容性。项目开发的硬件和软件要在指定的环境下,进行多次反复的安装和反安装测试,以验证接口数据调用和驱动程序是否达到设计标准。安全性测试和软件的安全策略密切相关,安全性测试主要包括:用户访问权限、数据库安全性、文件安全性等。性能测试、负载测试等必须借助测试工具来实现。过分强调测试工具的作用,极力追求各种软件测试工具,是软件测试本末倒置的表现。实际上,测试过程中80%以上的缺陷是手工测试发现的,仅有不到20%的缺陷是靠工具测试发现的,而且这还得要求测试人员合理地使用工具。
3采用的测试模型
企业对产品开发应重点关注产品开发的过程控制,以及测试、管理。保证产品质量从源头开始。因此,测试过程更适合采用W模型,如图4所示。在W模型中,测试过程和开发过程都贯穿项目开发过程的整个生命周期,两者同时开始,同时结束,相辅相成、始终保持着同步的关系。这样做的原因是:测试工作尽早介入,软件存在问题的可能性就会降低。项目正式立项后,测试人员既可参与到项目组中,通过学习和阅读相关文档,加强对项目的了解,对项目有个整体认识,形成初步的测试思路。同时测试越早介入项目就能够越早发现问题,解决问题所花费的成本越小。如果在软件的最后阶段进行测试,发现功能设计不合理或性能不好,需要修改需求和设计,不得不返工到系统设计或需求定义阶段,会造成很大的代价,所以有必要将软件测试延伸到需求、设计阶段,对需求、设计进行验证。有资料表明,60%以上的软件错误不是程序错误,而是分析和设计错误。若把软件分析、设计上的问题遗留到后期,可能造成设计、编码的部分甚至全部返工,从而增加软件开发成本及延长开发周期等后果。同时,需求和设计阶段所产生的缺陷具有放大效应,严重地影响软件质量。因此,为了更早地发现并解决问题,降低修改错误和缺陷的代价,有必要将测试延伸到需求分析和设计阶段中去,使软件测试贯穿于整个生命周期,提倡软件生命周期测试的理念,即软件测试是对软件形成过程中的所有工作产品(包括程序以及相关文档)进行的测试,而不仅仅是对程序的运行进行测试。测试在对需求和设计阶段的测试活动主要是通过需求评审和设计评审来实现,可以更早发现问题,及时修改问题。即对软件开发阶段中的阶段性产品进行评审、走读或者回忆评审,发现其中的问题,是一种静态测试。通过静态测试,可以更早地发现问题,把问题消灭在萌芽中,将每个阶段产生的缺陷及时清除。
总结