软件测试人需要掌握的测试知识架构体系(上)

news2024/11/18 2:49:20

软件计划与可行性研究(问题定义、可行性研究);需求分析;软件设计(概要设计、详细设计);编码;软件测试;运行与维护。
在这里插入图片描述
一、软件的生命周期(SDLC)

1、生存周期划分

各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。

2、生存周期基线:

功能基线

指派基线

产品基线

3、SDLC的六个阶段

1)定义及规划

此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2)需求分析

在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。“唯一不变的是变化本身。”,同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。

3)软件设计

此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。

4)程序编码

此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。

5)软件测试

在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

6)运行维护

软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件软件生存周期的维护包括纠错性维护和改进性维护两个方面。

二、软件测试在软件生命周期(瀑布模型)中的对应关系

周期模型:典型的几种生命周期模型主要包括:瀑布模型、快速原型模型、迭代模型。

三、软件测试过程

第一步:对要执行测试的产品/项目进行分析,确定测试策略,制定测试计划。该计划被审核批准后转向第二步。测试工作启动前一定要确定正确的测试策略和指导方针,这些是后期开展工作的基础。只有将本次的测试目标和要求分析清楚,才能决定测试资源的投入。

第二步:设计测试用例。设计测试用例要根据测试需求和测试策略来进行,进度压力不大时,应该设计的详细,如果进度、成本压力较大,则应该保证测试用例覆盖到关键性的测试需求。该用例被批准后转向第三步。

第三步:如果满足“启动准则”(EntryCriteria),那么执行测试。执行测试主要是搭建测试环境,执行测试用例。执行测试时要进行进度控制、项目协调等工作。

第四步:提交缺陷。这里要进行缺陷审核和验证等工作。

第五步:消除软件缺陷。通常情况下,开发经理需要审核缺陷,并进行缺陷分配。程序员修改自己负责的缺陷。在程序员修改完成后,进入到回归测试阶段。如果满足“完成准则”(ExitCriteria),那么正常结束测试。

第六步:撰写测试报告。对测试进行分析,总结本次的经验教训,在下一次的工作中改。

软件测试过程管理,主要包括软件测试是什么样的过程,如何评价一个软件测试过程,如何进行配置管理和测试风险分析以及测试成本的管理。

四、软件测试流程(与第三条对应)

1、制定测试计划

2、编辑测试用例

3、执行测试用例

4、发现并提交BUG

5、开发组修正BUG

6、对已修正BUG进行返测

7、修正完成的BUG将状态置为已关闭,未正确修正的BUG重新激活

五、测试用例

测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

测试用例的要素为:版本号、模块名称、用例编号、用例名称、用例级别、预置条件、验证步骤、期望结果(含判断标准)、测试结果、测试时间、测试人员等。(其中核心要素为预置条件、验证步骤、期望结果)

测试用例的设计方法:等价类划分、边界值分析、错误推测法、因果图法、场景设计法

一份好的测试用例所要达到以下几点要求:测试用例必须完成对需求的完整覆盖(即用例和需求的双向可追溯性);测试用例必须是可执行的;测试用例的结果唯一性;测试用例必须简洁明了

六、缺陷报告(提交bug)

一份有效的缺陷报告要素通常包括:标题、前提、测试环境、操作步骤、实际结果、期望结果、出现的频率、优先级、严重等级、附件(一般是图片形式)。

另外还会有一些附加信息,如测试人员、开发负责人等。

标题:简明扼要,无歧义

优先级Priority(4个等级):软件被修复的紧急程度

1–立即解决:缺陷导致系统几乎不能运行使用 或 严重妨碍测试的执行(需立即修改)

2–高优先级:缺陷严重,影响到测试了(当天或第二天要及时解决的)

3–正常:一般错误

4–低优先级:可以在开发有时间的时候处理,如页面文本框对齐显示

严重等级Severity(4个等级):缺陷引起的故障对用户使用系统的影响

1–致命的:主流程不通,导致系统功能缺失、用户数据被破坏、系统崩溃、死机

2–严重的:影响流程的 比较严重的,比如系统主要功能部分未实现

3–一般:系统的次要功能没有完全实现,但不影响用户的正常使用

4–较小:操作不方便或遇到麻烦,但不影响功能的使用,如字体不美观、按钮大小不合适、文字排列对齐等(属于建议性或者美观方面的)

一般来说,缺陷越严重,优先级越高,但也有例外:

1)从用户角度看,缺陷不是很严重,但可能影响到测试执行了(优先级高严重等级低)

2) 有些缺陷比较严重,但由于技术的限制,暂时没法修改。这时优先级就降低了。有时候,用文字很难清楚描述缺陷,此时用图片(画笔指明问题)就很直观了。

3)如何有效的报告缺陷?

单一准确:每个报告只针对一个缺陷,如果有多个缺陷,可能开发只修正了其中一个,其他的没有得到修改,加长了缺陷的生命周期

可以再现:不能忽视或省略任何一项操作步骤,特别是关键性的操作,如描述的不够清楚,RD(Research and Development engineer)就会过来沟通怎么操作的,浪费了大家的时间

完整统一:完整的描述信息

短小简练:使用关键词

特定条件:有些问题只在特定环境下存在

文章来源:网络 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/956546.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

react 基础知识(一)

1、 安装1 (版本 react 18) // 安装全局脚手架(create-react-app基于webpackes6) npm install -g create-react-app //使用脚手架搭建项目 create-react-app my-app // 打开目录 cd my-app // 运行项目 npm start2、初体验 impo…

C#-单例模式

文章目录 单例模式的概述为什么会有单例模式如何创建单例模式1、首先要保证,该对象 有且仅有一个2、其次,需要让外部能够获取到这个对象 示例通过 属性 获取单例 单例模式的概述 总结来说: 单例 就是只有 一个实例对象。 模式 说的是设计模式…

汽车售后接待vr虚拟仿真实操演练作为岗位培训的重要工具和手段

汽车虚拟仿真教学软件是一种基于虚拟现实技术的教学辅助工具。它能够模拟真实的汽车环境和操作场景,让学生能够通过虚拟仿真来学习和实践汽车相关知识和技能。与传统的教学方式相比,汽车虚拟仿真教学软件具有更高的视觉沉浸感和互动性,能够更…

OpenCV(五):图像颜色空间转换

目录 1.图像颜色空间介绍 RGB 颜色空间 2.HSV 颜色空间 3.RGBA 颜色空间 2.图像数据类型间的互相转换convertTo() 3.不同颜色空间互相转换cvtColor() 4.Android JNI demo 1.图像颜色空间介绍 RGB 颜色空间 RGB 颜色空间是最常见的颜色表示方式之一,其中 R、…

小文智能GPT助手介绍

如何使用小文交互的GPT助手,让AI更加智能,适用更多场景? 在小文智能最新推出的4.0版本,有一个新功能,叫做GPT助手。GPT助手,顾名思义,即在小文智能的场景中,接入ChatGPT&#xff0c…

阿里云部署开源MQTT平台mosquitto的docker操作

MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,广泛用于物联网和传感器网络中。Mosquitto是一个流行的开源MQTT代理,可以在Docker中进行配置和部署。本文将详细介绍如何在Docker中配置Mosquitto MQTT代理…

使用VBA将不同工作表拆分为单独的工作簿:实战指南

实现步骤 在处理大量数据时,Excel工作簿常常包含多个工作表。有时,我们需要将这些不同的工作表拆分为单独的工作簿,以便于分别处理或保存。这种情况下,我们可以利用VBA来实现这一目标。 VBA是一种基于Visual Basic的编程语言&…

详解MAC帧、ARP、DNS、ICMP协议

局域网通信原理 比如新建了一个内网,如果一台机器A找机器B,封FRAME时(OSI的第二层用的数据格式),要封装对方的MAC,开始时A不知道B的MAC,只知道IP,它就发一个ARP包,源IP是…

信息安全法规和合规指南: 解析不同地区的信息安全法规要求,提供合规实践建议和资源推荐

第一章:引言 随着数字化时代的到来,信息安全已经成为企业不可忽视的重要议题。各个地区纷纷制定了信息安全法规,以确保个人隐私和敏感数据的保护。本文将深入探讨不同地区的信息安全法规要求,并提供合规实践建议和资源推荐&#…

一百六十九、Hadoop——Hadoop退出NameNode安全模式与查看磁盘空间详情(踩坑,附截图)

一、目的 在海豚跑定时跑kettle的从Kafka到HDFS的任务时,由于Linux服务器的某个文件磁盘空间满了,导致Hadoop的NodeName进入安全模式,此时光执行hdfs dfsadmin -safemode leave命令语句没有效果(虽然显示Safe mode is OFF&#x…

JVM的故事——虚拟机字节码执行引擎

虚拟机字节码执行引擎 文章目录 虚拟机字节码执行引擎一、概述二、运行时栈帧结构三、方法调用 一、概述 执行引擎Java虚拟机的核心组成之一,它是由软件自行实现的,能够执行那些不被硬件直接支持的指令集格式。 对于不同的虚拟机实现,执行引…

css强制显示一行

要强制将文本内容显示在一行中,可以使用CSS的white-space属性和overflow属性来实现。 首先,将white-space属性设置为nowrap,这样文本内容就不会换行。然后,将overflow属性设置为hidden,这样超出一行的内容就会被隐藏起…

从零开始探索C语言(五)----函数和作用域

文章目录 1. 函数1.1 函数定义1.2 函数声明1.3 函数调用1.3.1 传值调用1.3.2 引用调用 2. 作用域2.1 局部变量2.2 全局变量2.3 形式参数 1. 函数 函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以…

直接插入排序与希尔排序

目录 一,排序的概念 二,插入排序 2.1直接插入排序 2.2 希尔排序 一,排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些或某些关键字的大小,递增或递减的排列 稳定性&#xff…

flutter自定义按钮-文本按钮

目录 前言 需求 实现 前言 最近闲着无聊学习了flutter的一下知识,发现flutter和安卓之间,页面开发的方式还是有较大的差异的,众所周知,android的页面开发都是写在xml文件中的,而flutter直接写在代码里(da…

无重叠区间【贪心算法】

无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 class Solution {public int eraseOverlapIntervals(int[][] intervals) {//先排序,按照左边界升序,注…

Vue3 select循环多个,选项option不能重复被选

Vue3 select循环多个,选项option不能重复被选 环境:vue3tsviteelement plus 实现目标:Vue3 select循环多个,当其中一个option值被选后,其他select里面不能再重复选择该option值。第二种,当其中一个option值…

雅思写作 三小时浓缩学习顾家北 笔记总结(二)

目录 饥饿网一百句翻译 Using government funds for pollution cleanup work can create a comfortable environment. "Allocating government funds to pollution cleanup work can contribute to the creation of a comfortable environment." Some advertise…

Linux的基本使用和Web程序部署(JavaEE初阶系列18)

目录 前言: 1.Linux 1.1Linux是什么 1.2Linux发行版 1.3Linux环境搭建 1.3.1环境搭建方式 1.3.2使用云服务器 1.4使用终端软件连接到Linux 1.4.1什么是终端软件 1.4.2使用Xshell登录主机 1.5Linux常用的命令 1.5.1ls 1.5.2cd 1.5.3pwd 1.5.4touch 1.…

vscode html使用less和快速获取标签less结构

扩展插件里面搜索 css tree 插件 下载 使用方法 选择你要生成的标签结构然后按CTRLshiftp 第一次需要在输入框输入 get 然后选择 Generate CSS tree less结构就出现在这个里面直接复制到自己的less文件里面就可以使用了 在html里面使用less 下载 Easy LESS 插件 自己创建…