软件测试基础和流程

来源:互联网 发布:电脑麦克风扩音软件 编辑:程序博客网 时间:2024/05/14 04:46

        软件测试是用人工或工具的手段按照一定方法或流程对软件进行测试,发现软件中的缺陷和漏洞,保证软件的正常使用和可拓展。目前,软件测试并没有一个完美的定义。

   软件测试的目的:1 证明软件是不可用的,尽可能的发现软件中存在的问题

                                2 从用户的角度,证明软件是可用的   

                                3 预防软件在使用过程中可能出现的问题

                              

    软件的生命周期

     计划阶段----项目经理做出项目计划,确定项目内容、人员安排、时间节点等。

     项目需求分析---需求分析工程师根据用户需求及项目计划,输出项目需求规格说明书(SRS)。

     设计阶段----系统构架师依据需求规格说明书,输出概要设计说明书(HLD),确定项目的模块及函数调用。

     编码---开发工程师根据HLD,SRS输出详细设计说明书(LLD),并编写代码。

     测试阶段--测试工程师,检查所有需求已准确实现

     运维阶段--技术支持,提供软件安装或安装指导、使用指导、异常处理、用户答疑、软件升级等


 软件研发的基本模型:

 瀑布型:是运用最广泛的一种模型,根据标准的软件生命周期,从前到后依次进行。优点是容易理解和

掌握,每个阶段都有一个检查点;缺点是测试在开发后期才介入,增加了开发风险。

 螺旋线:把需求分为几个小块,每一小块一个瀑布模型。优点是设计灵活,测试介入早,减少了开发风险;缺点是建设周期长。


 软件测试的四个阶段:

 单元测试:检查代码是否把LLD中的需求都实现了。测试点为函数功能和逻辑,测程序中的最小单元,一般是指一个函数。在国内,目前是由开发人员自己完成。

 集成测试:检查代码是否实现了HLD中的需求。测试点为接口和集成后的功能。

 系统测试:检查代码是否实现了需求规格说明书中的内容。测试点是查看需求中所有的特性是否实现

 验收测试:分为第三方验收(效果不好)和用户验收。用户验收包括α测试和β测试。

α测试是由用户在开发环境下进行的测试,或开发机构内部价的用户在模拟实际操作环境下进行的测试。一般开发者坐在用户旁,随时记录下错误情况和使用中的问题,是在受控环境下进行的测试。β测试是由多个用户在一个或多个用户的实际工作环境中进行的测试。开发者一般不在现场,测试环境是不可控的。


 测试中每个阶段的四个活动:

 计划---测试经理根据SRS输出测试计划(包括人员安排、时间节点、测试范围)

 设计---高级测试工程师根据SRS及测试计划输出测试方案

 实现/实施---测试工程师根据SRS及测试方案编写测试用例

 执行---搭建测试环境、测试工程师执行测试用例、输出及跟踪缺陷报告,最后测试经理输出测试报告

从计划到执行,每一天测试人员都需要做日报表。

 测试过程模型:双V模型。在此模型中,开发和测试并存;设计和执行是分离的;计划设计顺序与执行顺序正好相反。

  回归测试:验证开发是否把缺陷修改正确的过程。回归测试的目的是验证旧有bug已经得到正确修改且没有引入新的bug.

 回归测试策略

 完全重复测试;重新执行之前所有的测试用例。可靠性高但工作量大,周期长。

 选择性重复测试:根据实际情况有选择的执行之前的测试用例。要保证 已发现的bug全部修复且没有引入新的bug、版本新增需求全部实现、用户频繁使用的功能没有出错以及主要的业务流程没有阻塞。

  

0 0
原创粉丝点击