什么是软件?
讲软件测试之前先说一下软件,我们每天会使用很多软件如QQ、飞信、MSN、Office、360安全卫士等等。软件(Software)是计算机中与硬件(Hardware)相结合的一部分,简单来说是包括程序和文档。
软件按照功能一般分为系统软件和应用软件两大类。系统软件:能够直接操作底层的硬件,并为上层软件提供支撑的软件如windows、Linux、Unix等操作系统、各种硬件驱动程序等等。而应用软件:能够为用户提供某种特定的应用服务的软件,数量相当多如各种炒股软件、杀毒软件、即时通信软件等等,方便了我们的日常生活。按照技术架构,软件又可分为单机版软件、C/S(Client/Server)结构软件和B/S(Brower/Server)结构软件。按照用户划分,软件分为产品软件和项目软件。两者区别在于目标用户不同,其中产品软件目标用户是大众,而项目软件是具体的用户。按照开发规模(软件开发人数和开发时间)划分,软件可分为小型、中型和大型三类。一般划分人数定在10、100、1000左右,开发时间定在1、4、6个月和1、2年不等。
随着软件行业的不断发展,出现了复杂数据库、中间件、构件等小类。也可以将软件看做是程序、文档和数据的集合。程序是指能够实现某种功能的指令的集合。文档指的是软件在开发、使用和维护过程中产生的图文结合,如《软件系统需求规格说明书》、《概要设计文档》、《用户手册》等。
什么是软件测试?
简单来说,软件测试是指对程序和文档的测试。程序测试主要包括程序逻辑功能、界面、性能、易用性、兼容性、安装等的测试。文档测试包括文档内容和截图的检验、排版风格的检查、错别字的校验等。
有人说,软件测试就是在寻找软件中的Bug。Bug的英文意思是“小虫子”,现在泛指计算机中硬件或软件的错误。软件错误泛指任何能引起软件不能正常运行的错误,包括程序中存在的编译链接错误、程序运行错误和开发文档存在的错误等等。可以说凡是不满足用户需求就存在软件错误。所以在软件开发之前中应尽可能与用户沟通交流,详细全面的调查清楚用户需求,然后在开发过程中尽可能满足用户需求,开发出令用户满意的软件。当然在开发过程中也应考虑到人力、时间、金钱的投入花销等。
测试环境(Testing environment),百度百科说,是指测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。测试环境=软件+硬件+网络+数据准备+测试工具。测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。搭建测试环境要求无毒、干净、安全和真实(模拟用户真实运行环境)。
测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。根据测试过程中具体涉及到问题类型及测试需求,可将测试用例分为如下:
●功能性测试用例
●界面测试用例:适用于所有测试阶段中的界面测试
●数据处理测试用例:适用于所有测试阶段中的数据处理测试
●操作流程测试用例:适用于所有流程性的测试
●安装测试用例:适用于所有安装测试
测试用例管理
●编写用例:测试工程师根据需求规约、概要设计、详细设计等文档编写测试用例。
●用例评审:原则上用例象程序一样,要经过多次的修改才可以通过,实际工作中通常进行一次。
●用例修改:评审结束后,您需要根据评审意见进行修改,修改后通常不再进行评审。
●使用用例:执行测试用例,并记录到测试用例执行报告中。
●用例升级 / 维护:随着软件产品不断修改、升级,对应的用例也需要升级维护。针对同一个项目,可以根据需求的变更不断进行维护;如果是产品,用例的维护更加重要,要达到用例和产品的版本一一对应。
关于测试用例的模版,软件测试小牛在此提供一个链接:http://wenku.baidu.com/view/84929c7a31b765ce05081483.html,供各位参考。