一、软件测试模型

1.软件模型:V模型、W模型、H模型、X模型、前置测试模型

2.V模型:测试活动与分析和设计的关系,过程从左到右,描述了基本的开发过程和测试行为,非常明确低标明了测试过程中存在的不同级别,测试阶段和开发过程期间各阶段的对应关系

  局限性:编码之后的一个阶段,隐藏的问题一直到后期验收测试时才被发现,很难再更改逻辑结构去修正问题

  优点:按阶段划分为各个阶段来实现,从多角度测试系统找出更多的缺陷

  缺点:容易误导为软件开发的最后一个阶段,产生的问题不能很早发现,质量控制和测试效率无高效发挥

3.W模型,不能体现尽早地和不断地进行软件测试的原则,由此演化成一种W模型,W模型增加了软件各开发就散中同步进行的验证和确认测试活动,两个V字型模型组成,测试与开发过程,表示出了他们的并行关系,强调测试阶段和开发阶段是同步进行的,测试的对象不仅仅是程序,还包括需求分析、概要设计和详细设计,测试伴随着整个软件开发周期

  优点:尽早发现问题,非程序角度测试系统和思想,提高测试质量及效率

  缺点:串行的活动,线性的前后关系,无法支持迭代,自发性以及变更调整

4.H模型,存在着相互牵制的关系,并且在大部分时间内,他们是可以交叉进行的,测试活动完全独立出来,形成一个完全独立的流程,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了,测试模型是一个独立的流程,贯穿整个软件产品的周期,与其他流程并发地进行,

  优点:测试从开发中独立出来,可对测试技术重复利用,高效调整测试人员,缺陷修复时不受项目组内部人员限制,

  缺点:对系统认识不够深入,影响测试质量及测试效率

5.X模型:对V模型的改进,针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接和集成最终合成可执行的程序

  针对单独程序片段进行的相互分离的编码和测试,通过集成最终成为可执行的程序,然后再对这些可执行程序进行测试

  探索性测试不进行事先计划的特殊类型的测试

  优点:强调单元测试及集成测试的重要性,探索性测试使测试模型与现实更接近,不受项目内部人员限制

  缺点:只要强调测试过程中的部分内容,没有对需求测试、验收测试等内容进行说明

6.前置测试模型,将开发和测试的生命周期整合在一起,项目生命周期从开始到结束之间的关键行为,测试执行和开发结合在一起,编码-测试-编码-测试,编写完成,就会立即进行测试,单元测试

  基于测试的需求、验收标准和验收测试计划

  较低的成本来及早发现错误,测试对确保系统的高质量和重要意义,反复使用了各种测试技术

二、测试类型

1.类型划分

  1)按照开发阶段划分

  2)按照测试实施组织划分

  3)按照测试技术划分

  4)按照测试执行方式划分

  5)按照测试对象类型划分

  6)按照质量属性划分

  7)按照测试地域划分

2.按开发阶段划分

  单元测试又称模块测试,最小单元进行正确性检验的工作

  集成测试,组装测试,联合测试、子系统测试或部件测试,设计要求组装成子系统或系统进行的测试活动

  系统测试,对已经集成好的软件系统进行彻底的测试,软件系统的正确性和性能是否满足其规约所指定的要求,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等,在真实系统工作环境下通过于系统的需求定义做比较,发现软件与系统设计文件或软件开发合同规定不符合或与之矛盾的地方

  验收测试,功能测试和系统测试之后,产品发布之前,最后一个阶段,也称为交付测试、发布测试或确认测试,按照项目任务书或合同,供需双方约定的验收依据文档,决定是否接收系统

3.按测试实施组织划分

   1)验证测试或a测试,Alpha测试用户在开发环境下进行的测试,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理,用户测试时在用户的应用环境下,不是指用户的验收方式,而是指用户的使用性测试,beta测试,

  独立测试,模拟用户真实应用环境下,进行软件确认测试,有别于开发人员或用户进行的测试,其目的是为了保证测试工作的客观性

4.按照测试技术划分

  1)黑盒测试,功能测试,检测每个功能是否都能正常使用,程序外部结构,不考虑内部逻辑结构,软件界面和软件功能进行测试,以用户的角度,从输入数据与输出数据的对应关系出发进行测试,只有采用穷举输入测试,把所有可能的输入作为测试情况考虑,才能查出程序中所有的错误

  2)白盒测试,结构测试,通过检查软件内部的逻辑结构,可以覆盖全部代码、分支、路径和条件

  3)灰盒测试,介于白盒测试与黑盒测试之间,关注输出对于输入的正确性,同时也关注内部表现,不像白盒测试详细,完整,外部表现同时又结合程序内部逻辑结构来设计用例,采集程序路径执行信息和外部用户接口结果的测试技术,投入的时间比黑盒测试打概多20-40%的时间

5.按照测试执行方式划分

  1)不运行程序,通过人工对程序和文档进行分析与检查,静态分析技术,需求说明书、设计说明书、程序源代码、用户手册,可以由人工进行,也可以借助软件工具自动进行,运行被测程序、检查运行结果与预期结果的差异,编写测试用例、执行程序、分析程序的输出结果

6.静态测试与动态测试的区别

  1)用于预防的、动态测试时用于校正

  2)多次的

  3)综合测试程序代码

  4)静态测试的覆盖率能达到100%

  5)动态测试比静态测试更化时间

  6)静态测试比动态测试更能发现BUG

  7)执行可以在程序编译前,动态测试只能在编译后才能执行

7.按照测试对象类型划分

  1)功能测试:对软件功能进行的测试

  2)界面测试:用户界面

  3)流程测试:按操作流程进行的测试

  4)接口测试:测试系统组件间接口的一种测试

  5)安装测试:测试安装代码以及安装手册

  6)文档测试

  7)源代码测试

  8)数据库测试

  9)网络测试

  10)性能测试:负载测试、压力测试、稳定性测试

    负载测试:强度测试,系统所能承受的最大负载量的测试,目标时确定并确保系统在超出最大预期工作量的情况下仍能正常运行

    压力测试:对系统逐渐增加压力的测试,系统能提供的最大的服务级别的测试或者不能接收用户请求的性能点,在什么条件下应用程序的性能会变得不可接受

    并发测试:当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题

    大数据测试:独立的数据量测试和综合数据量测试两类,某些系统存储、传输、统计、查询等业务进行的大数据测试,和压力性能测试、负载性能测试、稳定性性能测试相结合的综合测试

    稳定性测试:疲劳强度测试,系统稳定运行情况下的并发用户数,或者日常运行用户数,持续运行较长一段时间

    负载测试:强度测试,系统所能承受得最大负载量的测试,目标是确定并确保系统在超出系统在超出最大预期工作量的情况下仍能正常运行

    压力测试:对系统逐渐增加压力的测试,系统能提供的最大的服务级别的测试或者不能接收用户请求的性能点,在什么条件下应用程序的性能会变得不可接收

    并发测试:当测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题

    大数据量测试:独立的数据量测试和综合量测试两类,某些系统存储、传输、统计、查询等业务进行的大数据量测试,和压力性能测试、负载性能测试、稳定性性能测试相结合的综合测试

    稳定测试:疲劳强度测试,系统稳定运行情况下的并发用户数,或者日常运行用户数,持续运行较长一段时间

  并发测试用户量计算:关注用户的总量、用户平均在线数值、用户最高峰在线数值

  

 

 

   

 

 8.按照质量属性划分时

  1)容错性测试主要检查系统的容错能力,输入异常数据进行异常操作检验系统的保护性,灾难恢复性测试

  2)兼容性测试指在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试

  3)安全测试,验证和评估是否达到用户对软件可靠性需求而组织实施的一种软件测试

  4)可用性测试,可用性水平

  5)维护性测试,衡量对已经完成的软件进行调整需要多大的努力

  6)可移植性测试:未经修改或修改部分源代码后,应用程序或系统从一种环境移植到另一种环境中还能正常工作的难易程度

  7)易用性测试考察评定软件的易学性、各个功能是否易于完成、软件界面是否友好等

9.按照测试地域划分

  1)软件的本地化版本

  2)软件国际化测试验证软件产品是否支持一些特性

三、软件测试技术

1.黑盒测试:通过测试和失败测试,确认软件能做什么,而不会去考验其能力如何,纯粹为了破坏软件而设计和执行的测试案例

  优点:1)比较简单

     2)与软件内部实现无关

     3)基于软件开发文档

     4)从用户角度开发

     5)自动化测试时较为方便

  缺点:1)不可能覆盖所有的代码

     2)自动化测试的复用性较低

2.黑盒测试用例方法:测试区域确定法、组合覆盖法、逻辑推断法、业务路径覆盖法,综合使用多种

3.测试区域:等价类划分和边界值分析法

  1)

 

   2)

 

 4.边界值:对输入输出的边界值进行测试,作为对等价类划分法的补充,其测试用例来自等价类的边界

 

 5.组合覆盖:设计尽可能少的测试用例,各个被测元素的中的各类测试数据组合都被至少执行一次

 

 6.逻辑推断法,因果图、判定表、大纲法

 

 7.业务路径覆盖法

  1)场景分析法:运用场景来对系统的功能点或业务流程的描述,模拟特定场景边界发生的事情,通过事件来触发某个动作的发生,观察事件的最终结果

  2)功能图法:形象地表示程序的功能说明

8.测试方法的综合策略

 

 9.白盒测试:内存泄漏检测功能、代码覆盖率检查工具和性能测试工具

  静态白盒:不执行的条件下,有条理地仔细审查

  1)尽早发现软件缺陷

  2)提供思路

  静态技术:

    1)代码检查法:代码与设计的一致性

    2)静态结构分析方法:结构形式是白盒测试的主要依据

    3)静态质量度量法:软件质量

  动态白盒有称结构测试,可以查看并使用代码的内部结构,从而设计和执行测试

四、信息系统测试管理

1.测试管理不仅需要对测试项目的过程、测试人员的工作内容进行管理,对其他外部管理体系间的相互关联、相互影响作用进行关注和问题的跟踪解决,为了实现测试工作预期目标,以测试人员为中心,对测试生命周期及其所涉及的相应资源进行有效的计划、组织、领导和控制的协调活动

2.测试管理内容按照管理范围和对象,测试部门管理和测试项目管理,为测试活动提供反馈信息和可视性,测试监控的内容

3.配置管理:搭建满足要求的测试环境,还包括获取正确的测试、发布版本

4.测试风险

  1)需求风险

  2)测试用例风险

  3)缺陷风险

  4)代码质量风险

  5)测试环境风险

  6)测试技术风险

  7)回归测试风险

  8)沟通协调风险

  9)其他不可预计风险

 

posted on 2022-03-23 19:54  丝瓜123  阅读(195)  评论(0编辑  收藏  举报