1.4软件测试流程1.5OA项目分析1.6软件项目流程1.4.1成立测试组当需要测试的项目分配下来后,该项目的负责人向测试部门提出测试申请,通过测试经理的审批后,由测试经理指派测试组长与测试工程师,成立项目测试组,负责该项目的测试工作。1.4.2分析测试需求测试经理任命测试组长,测试组长需要提前熟悉被测对象的需求,从总体上掌握项目的进展情况。通过仔细的阅读项目的相关文档(比如项目的进度计划、测试要求等)后,测试组长需安排下一步工作。1.4.3制定测试计划测试组长在详细了解了项目信息后,根据项目需求、项目进度计划表制定当前项目的测试计划,并以此计划来指导测试组开展对应的测试工作。测试计划中需说明每个测试工作输出的时间点、测试资源、测试方法、测试风险规避、测试停测标准等1.4.4提取测试需求测试组长制定好了测试计划后,项目组进行审评。评审通过后,项目测试组即可按照此测试计划开展工作。测试组员根据测试组长的任务分配,进行项目用户需求规格说明书的阅读,甚至开展需求测试工作。需求阅读理解完成后,进行需求测试的提取,也就是列出被测对象需限额是的点,这项工作可以利用Testdirector等测试管理工具开展。1.4.5编写测试用例测试需求提取完毕,经过测试组的评审通过后,测试组员可以进行测试用例的设计,这些工作都是在测试计划规定的时间内完成的。比如测试计划中规定“2008-12-20至2008-12-30完场系统测试用例设计及评审”,那么就必须在这个时间段内完成被测对象的测试用例设计。测试用例设计一般使用Word、Excel等样式,也可以使用TestDirector、TestLink等工具进行管理。1.4.6搭建测试环境测试用例设计工作完成后,如果项目开发组告知测试组长可以开展测试的时候,测试组长可从配置管理员处提取测试样本,根据开发组提供的被测对象测试环境搭建单来进行测试环境的搭建。测试环境搭建需要测试工程师掌握基本的硬件、软件知识。1.4.7执行测试用例测试环境搭建完成后,测试组员将进行测试用例的执行。根据前期设计并评审通过的测试用例,测试组员进行各个功能模块的测试。在执行测试用例的过程中,如果发现有遗漏或者不完善的测试用例,需及时做更新,并用文档记录变更历史。用例执行过程中如果发现了bug,则需要按照部门或者项目组的bug提交规范,利用一些bug管理工具提交bug。常用的管理工具有Bugzilla、testtrack、Mantis、TestDirector等。1.4.7跟踪处理缺陷大多数公司都有自己的bug管理流程规范,项目组成员根据这个流程规范开展日常的bug处理工作。在缺陷处理阶段,大多要经过4次、甚至跟过的迭代过程,多次进行回归测试,直到在规定的时间内达到测试计划中所定义的停测标准为止。在这个阶段,主要使用黑盒测试方法开展工作,以被测对象的需求规格说明为依据,重点关注被测对象的界面与功能表现。1.4.9执行性能测试一般在功能测试完成后,我们还需开展相应的性能测试工作。与功能测试一样,在测试之前,需要进行测试需求的分析、性能指标提取、用例设计、脚本录制、优化、执行、分析等一系列过程。通过使用一些自动化工具进行性能测试时目前性能测试的主要手段,常用的性能测试工具WAS、QALand、WebLoad、LoadRunner、Robot等。性能测试阶段主要解决被测对象的性能问题。1.4.10输出测试报告功能测试,性能测试都完成后,测试组长需要对被测对象做一个全面的总结,以数据为依据,衡量被测对象的质量状况,并提交测试结果报告给项目组,从而帮助项目经理、开发组及其他部门了解被测对象的质量情况,以决定下一步的工作计划。功能测试报告主要包含被测对象的缺陷修复率、bug状态统计、bug分布等,性能测试报告主要包含测试指标达标情况及测试部的质量评价等。当然也可以做一切整体的测试报告,包含功能、性能的测试结果。了解了软件测试的基本概念和软件测试工作的流程后,我们开始接触实际的项目实例来给大家介绍软件界面测试工作。本书的例子来自网上源码网站的一个免费代码对于软件测试初学者,比较好的方法是:利用网络下载一些程序源代码,根据这些资料中配备的环境配置说明,自己练习部署、源代码阅读、业务理解等,如果在环境配置、程序应用过程中出现问题的话,可以通过网络查找相关的解决办法。一方面,自己动手练习环境的部署,提高代码阅读能力及动手能力;另一方面,可以接触到各种各样的业务系统,因为一般的源代码网站都会将代码分类,业务类型还是比较丰富的,这些源代码都是工作中各种业务的缩影。常用软件分类:系统软件、应用软件、工程科学计算软件、嵌入式软件、产品软件、Web应用软件和人工智能软件。这些分类是按照业务类型来分的,在实际工作中都有可能接触到,所以,我们应该通过多种方法,多个途径来丰富自己的业务知识。本书实例的下载地址:一个全球知名的开源网站:什么是OAOfficeAutomation,就是办公室自动化,是将现代化办公和计算机网络功能联系起来的一种新型办公方式。这是当前新技术革命中非常活跃和具有很强生命力的技术应用领域办公自动化的原动力是人类文明进步和发展的同时人类求的自身解放的需要OA系统对传统办公方式的变革,正是适应了人们的普遍需求,也顺应了技术发展的潮流,自然成为业界追求的目标OA系统建设的本质是以提高决策效能为目的的。通过办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理机制,在提高效率的基础上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的OA系统的基础是对管理的理解和对信息的积累。技术只是办公自动化的技术实现手段。只有将办公过程中形成的信息进行有序化积累,沉淀,才能真正发挥办公自动化的作用。OA系统的灵魂是软件,硬件只是实现办公自动化的环境保障。数字化办公的两个明显特征是授权和开放,通过授权确保信息的安全和分层使用,使得数字化办公系统有可以启用的前提,通过开放,使得信息共享成为现实。本书中引用的OA系统那个是镇江云网软件技术有限公司提供的免费试用版《云网OA2.0版》该系统是典型的OA业务系统,采用JSP开发,基于B/S结构,整个系统共有通知、工作流、文件柜、任务督办等等很多个系统。本书仅仅对“图书管理”与“考勤”这两个业务模块进行模拟测试,其他模拟不涉及,读者可到镇江云网软件技术有限公司的官方网站自行下载。1.5.1图书管理实际问题:现在很多公司有自己的“图书馆”,便于员工的工作与学习。如何管理这些图书是公司行政人员需要重点考虑的。OA系统提供了一种方便快捷的图书管理功能,管理员可以进行图书类别、图书信息的管理,而普通员工则可以进行在线借阅、归还,极大地提高了图书的使用率,同时有效降低了图书借阅中的冲突概率。在本书中,我们见使用此模块介绍常用的软件测试流程与测试方法。从初期的团队组织任务分配到后期的用例设计执行、bug跟踪处理,结合普遍使用的测试管理工具TestDirector开展全方位的测试工作1.5.2考勤考勤模块是很多企业自动化系统具备的功能。现在常用的考勤方法有指纹、打卡、电子考勤等。对于指纹、打卡这两种方法比较方便,但有个不好地方就是需要购置外部设备,增加了成本,如果采用电子考勤则避免了这些成本的增加,同似乎电子考勤的数据更易于统计分析,同时可以跟公司中的自动化办公系统整合,所以很多公司采用这种方法。本书将性能测试工具LoadRunner进行性能测试需求分析、脚本设计、优化及场景执行、结果分析,从而有效地判断被测模块的性能表现。对于初次接触软件的朋友可能有一个疑问,软件是怎么产生出来的?与我们平时所使用的物品一样,软件的生产有个较为通用的流程。一般软件项目的运作流程如图所示。在该图中展示了一个软件产品的生命周期。与大多数的失去一样,软件也是有生命的。专业的书籍称之为“软件生命周期”。从初期的市场调研,直至最后的产品升级换代,经理一个漫长的过程,每一个阶段都需要测试工程师的关注。1.6.1市场调研所谓的市场调研就是弄清楚市场的需求是什么,客户需要什么,得出一个市场调研分析报告,从而为下一步软件活动提供理论依据。市场调研主要有两种方式:一种是主动模式,另外一种是被动模式。1.6.1市场调研主动模式是将公司或者企业作为需求接受的被动方,而需求的提出者作为主动方。这种模式中,需求提出者有明确的主题,如果A公司需要B公司为其开发一套企业信息管理系统,那么A公司为需求提出者,称之为“主动方”,B公司为需求接受者,称之为“被动方”。这种模式下进行需求调研,一般来说比较容易处理,同时因为有明确的对象,总体项目收益比被动模式明显,这种模式属于一对一的模式。1.6.1市场调研另外一种就是被动模式,在没有明确的需求提出者时,由公司或企业主动提出给特定用户群提供某种产品的模式。如某公司发现在邮箱业务上存在大量的潜在客户,那么可由公司的市场人员主动提出此类需求。这种模式较主动模式有明显的差异,在用户群不确定的情况下,需求将是不明确的,会给公司或企业带来一定风险,后期的项目运作过程可能面临着需求频繁变更的风险。1.6.1市场调研以本次使用的OA系统为例,既可以采取主动模式,也可以爱去被动模式。作者原来的公司先采用主动模式,再采用被动模式。先是某个公司跟他们公司的业务人员联系,要求开发一套适合他们国内公司运作的办公自动化软件,在经过这个项目后,他们公司经这个项目发展成“主打产品”,也就是有些公司所说的“产品线”。在这里,我们假设OA系统是为某个公司量体打造的。由公司的企业化改革负责人联系他们公司的业务人员,进行初期的需求沟通。经过沟通后,可生成《OA项目需求调研分析报告》类似的文档,指导后期的工作。1.6.2可行性研究可行性研究方法是以预测为前提,以投资效果为目的,从技术上、经济上、管理上进行全面综合分析研究的方法。可行性研究的基本任务是对新开发产品或升级产品的主要问题,从技术和经济角度惊醒全面的分析研究,并对其投产后的经济效益进行预测,在既定的范围内进行方案论证的选择,以便最合理地利用资源,达到预定的社会效益和经济效益。1.6.2可行性研究从软件的角度看,可行性研究重点解决的是前期的市场调研是否可行,能否在一定的成本压力下,持续地为公司、企业带来社会效益或经济效益。我们知道软件质量受到三个方面的约束:Time(时间)、Scope(范围)、Cost(成本)。所以,在可行性研究阶段,如何找出这三个方面的平衡点,是我们必须要解决的首要问题。1.6.2可行性研究教材作者公司业务人员根据OA系统的总体情况,预测评估该项目能否给公司带来一定的经济效益与社会效益,同时,公司是否有技术能力完成这个项目,如果经过分析评估确定后,可生成《OA系统可行性分析报告》,并且在报告中需给出最终的决定,本项目做还是不做。1.6.3产品立项在前期的市场调研、可行性研究经过评审确认可行后,则由需求调研人员牵头,进行产品立项,并进行产品小组的建立,同似乎制定产品的运作计划,如需求调研,产品设计,产品测试,产品发布等一系列的工作步骤及时间点。1.6.3产品立项通过需求调研与可行性研究两个环节的努力,最终总司与客户达成了一致同意项目立项,则由业务负责人申请建立OA系统项目小组,并制定对应的产品运作计划,比如《OA项目进度计划表》等。1.6.4需求调研产品立项后,就需要进行详细的需求调研了。需求调研同样有两种模式:主动模式和被动模式。在主动模式下,公司需要派出需求调研小组与客户直接沟通,以获得正确可靠的需求。被动模式是市场调研人员根据自己的经验判断,无明确的需求提出者,这样的项目有一定的风险1.6.4需求调研需求调研是整个项目最为重要的环节,此环节输出的一切资料都是后期工作的一句。所以很多公司在这个阶段会投入较长