软件测试概述结构化测试

chouqiuqiu chouqiuqiu     2022-11-02     503

关键词:

一、软件测试的目的
是在最小的成本和最短的时间内,通过设计良好的测试规程和测试用例,系统地发现不同类别的错误。
 
二、软件测试的基本原则
设计好的测试用例、不可能进行穷举测试、尽早开展测试、重点测试、定期进行检验与修正测试用例,并增加新的测试用例、测试依赖于系统环境、测试用例应该包含合理和不合理的输入条件。
 
测试过程模型
V模型特点:1、对应瀑布模型的变种(自下到上)线性关系
                     2、有局限性,在于不能体现“尽早地和不断地进行软件测试”的原则
                     3、仅仅把测试过程作为在需求分析、概要设计、详细设计及编码之后的一个阶段,容易
                          使人理解为测试是软件开发的最后的一个阶段,主要是针对程序进行测试寻找误,而
                          需求分析阶段、设计阶段隐藏的问题可能一直到后期的相应测试才被发现。
W模型特点:1、两个”V模型“,开发与测试相结合
                      2、开发与测试保持一种线性的前后关系
H模型特点:1、可交叉进行
                     2、测试过程是一个独立的过程
 
三、测试类型
测试类型可分为:单元测试、集成测试、系统测试、验收测试、回归测试
 
1、单元测试:主要检测独立的软件单元,为了发现程序级别的错误
                        面向代码设计与结构
 
2、集成测试:独立的软件单元(模块)组合过程中所进行的测试。
                        面向详细设计文档
     结构化方法下的集成测试策略:BingBang策略、自顶向下策略、自底向上策略
     BingBang策略:所有模块一次性集成为一个整体系统,后对各个模块之间的接口工作进行测试
                    优点:在于测试之间所有的整合工作已经完成
                    缺点:在于整合过程较为费时,且集成过程中若引入新的错误则难以追溯
      自顶向下策略:先测试软件模块结构图最顶端的模块,后集成下一层的模块再进行测试,直到所
                               有模块全部组合并测试完。
      自底向上策略:先测试软件最底层模块,后集成上一层模块并进行测试,逐步将所有模块组合并
                                测试完毕。
       面向对象方法下的集成测试:主要有基于线程的策略和基于使用的策略。
       步骤:1)按照设计阶段的说明画出对象图
                  2)开发端口输入事件所驱动的类
                  3)开发与主类直接相关的类
                  4)将与主类直接相关联的类集成
                  5)对新集成的模块进行测试
                  6)从已集成的模块中选一个新类作为下一步的集成类
3、系统测试:对应于概要设计和需求分析,进行系统测试以确保其功能的正确性,以及在不同运行  
                        环境配置下系统的可用性。
4、验收测试:是一种以用户为主的测试,由客户判断最终是否在可接受范围之内,软件开发人员和
                        质量保证小组也同时参与。
5、回归测试:根本目标在于检测新代码的正确运行,并且不影响其他已运行正确的功能
(集成测试着重测试的是各个模块之间接口运行情况,系统测试是将系统软件作为整个计算机系统的一个元素)
 
四、测试方法
测试方法有不同 的标准:1)按是否需要执行被测试软件,软件测试可分为静态测试、动态测试。
                                         2)按是否需要查看代码,软件测试可分为白盒测试、黑盒测试、灰盒测试
                                         3)按测试执行时是否需要人工干预,软件测试可分为自动测试、人工测试
1、静态测试(代码复查):是在不要执行所测试程序的情况下,对代码、需求分析和设计文档等 进
                                             行缺陷查找。
                           主要目的:在于尽早发现系统缺陷,提高软件产品的质量。
                           主要特征:表现在不需要实际运行,充分发挥人的思维优势,可能比较耗时耗力,
                                             对测试人员要求比较高。
2、动态测试:是通过选择适当的测试用例,实际运行所测试的程序,比较实际运行结果和预期结
                        果,以发现软件中潜在的缺陷。
      主要目的:在于确定软件产品符合实际业务需求,可适用在单元测试、集成测试、系统测试等。
3、白盒测试:也称为玻璃盒测试、结构化测试等。(需查看代码)
4、黑盒测试:也称为功能测试、数据驱动测试,是一种从用户观点出发的测试。(不需查看代码)
5、灰盒测试:介于白盒测试与黑盒测试之间的测试。
6、手工测试:是完全由人工测试工作,包括测试计划的制定,测试用例的设计和执行,以及测试结    
                        果的检查和分析等。
7、自动测试:是各种测试活动的管理与实施,是使用自动化测试工具或自动化测试脚本来进行的测
                        试,包括测试脚本的开发与执行等,以某种自动测试工具来验证测试需求。
 
五、测试用例设计
                                         测试用例=输入+输出+测试环境
测试用例设计应满足以下标准:1)测试用例的目标清楚
  (从整体而言)                        2)设计思路正确、清晰
                                                   3)在组织和分类上,测试用例层次清楚、结构合理
                                                   4)测试用例覆盖所有测试点、覆盖所有已知用户使用背景
                                                   5)测试手段的区别对待
                                                   6)有充分的负面测试
                                                   7)没有重复、冗余的测试用例
测试用例设计应满足以下条件:1)测试用例的出发点是发现缺陷
(从具体的测试用例)              2)测试用例的单一性
                                                   3)符合测试用例设计规范或测试用例模板
                                                   4)描述清楚
                                                   5)操作步骤的准确性
                                                   6)操作步骤的简单性
                                                   7)所期望的测试结果是可验证的
                                                   8)测试环境的正确性、测试数据的充分性
                                                   9)前提条件、依赖性被完全识别出来
每个核心的输入条件:1)正确数据   2)边界数据     3)错误数据
 
六、模块内测试
逻辑覆盖技术是白盒测试中最主要的一种技术,包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
1、语句覆盖:设计若干个测试用例,运行测试程序,使得每一可执行语句至少执行一次。
2、判定覆盖:设计若干个测试用例,运行测试程序,使得程序中的每个判断的取真分支和取假分支
                        至少执行一次。(分支覆盖)
3、条件覆盖:设计若干个测试用例,运行测试程序,使得程序中每个判断的每个条件的可能取值
                        至少执行一次。
4、判定/条件覆盖:设置若干个测试用例,运行测试程序,使得判定表达式中的每个条件都取到各种
                                可能的取值,且每个判定表达式也都取到各种可能的结果。
5、条件组合覆盖:设置若干个测试用例,运行测试程序,使得每个判定的所有可能的条件取值组合
                               至少执行一次。
 
 
 

白盒测试用例设计方法笔记-白盒测试用例设计概述

(一)-白盒测试用例设计概述1白盒测试定义2白盒用例设计方法3特殊说明4不可能进行彻底的白盒测试1白盒测试定义白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计... 查看详情

软件测试·白盒测试

 一、概述       白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能... 查看详情

软件测试

软件测试概述软件测试软件:计算机系统与硬件中相互依存的一部分,程序数据与相关文档的集合黑盒测试黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子... 查看详情

刷题面筋-测开-软件测试概述/对测试的理解/对测试岗位的认识

目录概述1-软件测试概述2-测试用例概述3-测试分类概述4-软件质量评估=======================================================概述简单认识软件测试,可以从四个方面理解软件测试概述测试用例概述测试分类概述软件质量评估=====================... 查看详情

app测试1-app测试概述

App测试的分类1、UI测试2、功能测试安装:断网、弱网、安装后删除安装文件卸载、更新 3、兼容性测试  4、稳定性测试:monkey 5、极限测试耗电量测试:1)2)弱网环境测试:https://www.cnblogs.com/rookie-c/p/5753422.html6、... 查看详情

软件测试概述基本介绍

目录1.软件测试概述1.1软件测试定义1.2软件缺陷的案例1.3Bug起源以及Bug类型1.4软件缺陷的严重程度和优先级1.5软件测试的目的和关键问题1.6软件测试的原则1.7软件开发与软件测试1.8.软件测试的过程模型1.9测试用例本课程主要介绍... 查看详情

软件测试概述

 一.软件测试历史1972年举行第一次软件测试会议1979年给我软件测试经典定义1996年提出软件测试成熟度模型TMM,TDD2009年前谷歌/微软测试高管提出探索式测试理论 二.软件测试的定义1.早期定义:软件测试是对程序能够按预... 查看详情

软件测试概述

一、测试是什么  1、找bug,就是查找软件测试错误的过程  2、加深对软件的认知,使软件更适合用户的使用  3、测试工作——执行测试    a、参与需求评审、计划测试流程、书写测试方... 查看详情

软件工程概述

...法,工具和过程传统方法学:也被称为生命周期方法学或结构化范型,采用结构化技术,强调自顶向下顺序完成软件开发的各阶段任务。、面向对象方法学:软件系统本质就是信息处理系统,是一个主动多次反复迭代的演化过程... 查看详情

测试岗位概述_4.21(代码片段)

测试岗相关问题整理:1.测试岗位现状:1.多是白盒测试、系统集成测试2.静态审核代码3.动态检测4.每修复3-4个缺陷会引出1个缺陷2.基本开发流程-V字图需求分析→概要设计→代码实现→单元测试→集成测试→交付上线3.测试流程... 查看详情

如何开始用junit进行单元测试(代码片段)

...一个很小的、很明确的功能是否正确。2、一般认为,在结构化程序时代,单元测试所说的单元是指函数,在当今的面向对象时代,单元测试所说的单元是指类 查看详情

白盒测试用例设计方法笔记-白盒测试用例设计概述2

(二)-白盒测试用例设计概述21白盒测试覆盖标准1.1逻辑覆盖说明2测试原则3分析方法4测试流程5工具选择6黑盒与白盒的区别1白盒测试覆盖标准逻辑覆盖;循环覆盖;基本路径测试;1.1逻辑覆盖说明分类说明... 查看详情

白盒测试用例设计方法笔记-白盒测试用例设计概述2

(二)-白盒测试用例设计概述21白盒测试覆盖标准1.1逻辑覆盖说明2测试原则3分析方法4测试流程5工具选择6黑盒与白盒的区别1白盒测试覆盖标准逻辑覆盖;循环覆盖;基本路径测试;1.1逻辑覆盖说明分类说明... 查看详情

第一节课:测试需求分析概述:

 测试过程的生命周期1测试需求分析(从产品需求中挖掘测试需求)2根据测试需求设计测试方案和测试用例(重点是功能测试)3.制定测试计划 ----执行前分析和准备阶段4测试执行5质量评估产品需求不一定是测试需求,... 查看详情

软件测试的概述

   1,什么是软件测试       概念:在规定的条件下对程序 进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程   2,软件测试的分类    按照开发阶段:... 查看详情

软件测试体系学习及构建(12)-测试基础之软件测试的原则概述

(12)-测试基础之软件测试的原则概述1测试要站在用户的角度2软件测试要尽早进行3穷尽测试是不可能的4遵循GoodEnough原则5测试缺陷要符合“二八”定理6避免缺陷免疫7分阶段测试8第三方体验性测试9并不是所有的缺陷都... 查看详情

接口测试目录导航

...-12-29 [1] 接口测试基础与工具[2] 接口测试框架概述[3] 接口测试框架结构与功能介绍[4] 接口测试框架客户端部署及使用 相关工具fitnesse[1] fitnesse-框架介绍[2] fitnesse -安装部署[3] fitnesse-一个简... 查看详情

软件测试体系学习及构建(14)-测试基础之软件测试和开发模型概述

(14)-测试基础之软件测试和开发模型概述1软件测试模型1.1V模型1.2W模型1.3H模型1.4X模型1.5敏捷测试2开发模型2.1大爆炸模型2.2边写边改模型2.3瀑布模型2.4敏捷开发模型2.5螺旋模型2.6其他模型1软件测试模型1.1V模型左侧为瀑... 查看详情