软件测试胡侃之初篇

2024-02-05 19:40
文章标签 软件测试 初篇 胡侃

本文主要是介绍软件测试胡侃之初篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软件测试胡侃之初篇

一、定义or目的

v 最近在看《软件测试的艺术》,结合我的经验和理解总结一下测试相关知识

定义1:书中指出:“对于测试,更为合适的定义应该是:测试是为发现错误而执行程序的过程。”

定义2:《软件测试技术经典教程》书中和我一直以来的观点比较契合,感觉较为中肯的定义,“发现错误仅仅是软件测试的手段而已,软件测试的最终目的是检验实际的软件系统是否符合用户的需求”,注意是检验不是验证,就两者区别就引发过一场辩论,头大!书中就定义1提出两点质疑:

1. “测试文档属于软件测试,但是它不一定需要执行程序”,当然比如文档审查;

2. “我按照用户的需求测试了实际的系统,却一个bug也没有发现,我所做的测试工作有意义吗?当然有意义,因为至少证明了该系统基本符合用户的需求”。当然实际的软件测试过程中,被测软件如果没有一个问题,概率值接近0,虽然说工作意义和基本符合的字眼有些牵强,但也指出,不能为了找bug去设计用例,显而易见正常用例出现的bug概率相对低,如果一些人走极端,很容易导致测试不全面。

不过貌似如何定义与实际工作中的软件测试关系不大,认可哪种定义主要看你想达到的目的,而更多人似乎更倾向于testing for finding bugs。就像《软件测试的艺术》中所说:“人类行为总是倾向于具有高度目标性”,怀着找地雷的心态去搜索,出招一定更加精准与锋利,只是别忘记测试全面。不管选择如何,结果而言,目前还是bug找出的越多,对增加程序的价值越大。废话够多了,到此为止.........~O~

 

军工的软件测试,我目前主要参考《GJB/Z141 -2004》:

军用软件的测试目的是:

a)  验证软件是否满足软件开发合同或任务书、 系统/子系统设计文档、 软件需求规格说明和软件设计说明所规定的软件质量特性要求;

b)  通过测试,发现软件错误;

c)  为软件产品质量的评价提供依据 。

二、分类

动态测试分为:黑盒测试、白盒测试和灰盒测试。

黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试, 这种测试不必了解被测对象的内部情况, 而依靠需求规格说明中的功能来设计测试用例,又称“穷举输入测试”。测试方法一般包括功能分解、等价类划分、边界值分析、判定表、因果图、错误推测法、正交试验法、状态迁移图法和流程分析法等;

白盒测试又称结构测试、逻辑测试或基于程序的测试, 这种测试应了解程序的内部构造, 并且根据内部构造设计测试用例,又称“穷举路径测试”。测试方法一般包括控制流测试(语句覆盖测试、分支(判定)覆盖测试、条件覆盖測试、判定-条件覆盖、条件组合覆盖测试、路径覆益测试)、数据流测试、程序变异、程序插桩、 域测试和符号求值等;

l 灰盒测试:介于白盒测试和黑盒测试之间的测试,关注输出对于输入的正确性,同时也关注程序内部表现。

三、测试过程

软件测试过程包括四项活动, 按顺序分别是: 测试策划、 测试设计和实现、 测试执行、 测试总结。

l 测试策划

确定需要测试的内容或质量特性; 确定测试的充分性要求; 提出测试的基本方法; 确定测试的资源和技术需求; 制定测试资源计划和测试进度计划 。

l 测试设计与实现

分析测试用例集的层次结构, 选取和设计测试用例; 获取并验证测试数据; 根据測试资源、 风险等约束条件,确定测试用例执行顺序;获取测试资源,开发测试软件;建立并校准测试环境:进行测试就绪审査, 主要审査测试计划的合理性和测试用例的正确性、 有效性和覆盖充分性, 审査测试组织、 环境和设备工具是否齐备并符合要求。在进入下一阶段工作之前,应通过测试就绪评审。

l 测试执行

执行测试用例, 获取测试结果; 分析并判定测试结果。 同时, 根据不同的判定结果采取相应的措施; 对测试过程的正常或异常终止情况进行核对, 并根据核对结果, 对未达到测试终止条件的测试用例, 决定是停止测试, 还是需要修改或补充测试用例集, 并进一步测试 。

l 測试总结

评估测试效果和被测软件项, 描述测试状态。 如, 实际测试与测试计划和測试说明的差异、 測试充分性分析、未能解决的测试事件等;描述被测软件项的状态,,被测软件与需求的差异,发現的软件错误等;最后,完成软件测试报告,并通过测试评审。

四、V模型

软件生命周期V”字开发过程模型:

 


Tip1:心理暗示,程序充满bug,要兼顾全面,我要360度激光扫射

Tip2:错误总是倾向于聚集存在,因此,某一模块问题较多,首轮全部测试完成后考虑额外测试该部分。

Tip3:有自己遗漏或者没发现的错误也不要沮丧,没有任何一次软件测试能够将所有错误都发现,因为本来bug个数永远都是未知的,不过如果正常测试应该发现的,严重的、可能造成重大损失的错误,就别冒被领导扔刀子的风险去尝试擦肩而过了,后果很血腥的。但千万不要将错误全部揽在自己身上,说白了你也只是层层防线中的一环,从源头抓起,将软件测试融入到开发全过程会更能提高软件质量。废话一堆,总之,放松心态,减少压力,且漏且珍惜。

这篇关于软件测试胡侃之初篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/681961

相关文章

软件测试之压力测试知识总结

软件测试之压力测试知识总结 一、压力测试概述 压力测试(Stress Testing)是软件测试中的一种重要手段,用于验证软件应用程序在极端负载条件下的稳定性和可靠性。其主要目的是在软件承受极高负载时,测量其健壮性、错误处理能力和恢复能力,确保软件在危急情况下不会崩溃或表现异常。压力测试也被称为耐力测试,在软件工程中占有举足轻重的地位。 1.1 压力测试的目的 压力测试的主要目的包括:

软件测试中常用的linux命令总结

1、修改ssh登陆密码命令:passwd 2、新建一个名字为dbuser的Linux新用户:(sudo adduser dbuser) 4、./frps -c ./frps.ini(FRP启动命令) 5、lsof -i:7500(监听端口) 6、sh reload.sh master(文件后缀为sh时,nginx启动命令);( 文件为执行文件启动命令:./nginx -s reload) 7、sh

软件测试永远的家——银行测试,YYDS

为什么做金融类软件测试举个栗子,银行里的软件测试工程师。横向跟互联网公司里的测试来说,薪资相对稳定,加班少甚至基本没有,业务稳定。实在是测试类岗位中的香饽饽! 一、什么是金融行业 金融业是指经营金融商品的特殊行业,它包括银行业、保险业、信托业、证券业和租赁业 往往涉及证券、银行、基金、信托、保险、投行、期货等领域 二、金融行业的业务特点 随着金融行业的业务不断增加,金融交易模式的不断变化,

软件测试学习笔记丨Pytest的使用

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/22158 1. 简介 pytest是一个成熟的全功能python测试框架测试用例的skip和xfail,自动失败重试等处理能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试,接口自动化测试pytest有很多第三方插件,并且可以自定义扩展,如pytest-

【软件测试】设计测试用例

📕引言 本文章重点目标: 测试用例的概念 设计测试用例的万能思路 设计测试用例的方法 ◦ 基于需求的设计方法◦ 具体的设计方法 ▪ 等价类 ▪ 边界值 ▪ 判定表法 ▪ 正交法 ▪ 场景法 ▪ 错误猜测法 🍀测试用例 🚩概念 什么是测试用例? 测试用例(TestCase)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要

软件测试学习笔记丨Linux-Bash编程语法

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32091 一、Bash编程基础 1.1 变量 1.1.1 语法 Variable_name=value 1.1.2 变量定义的规则 变量名区分大小写,a和A为两个不同的变量;变量名可以使用大小写字母混编的形式进行编写;变量名与值之间的=两侧都不能有空格;在读取或打印变量时,需使用$+变量名;

第八章 软件测试简记

第八章  软件测试 软件测试:在软件投入运行前对软件需求分析、软件设计规格说明和软件编码进行差错和纠正。 软件测试的目标: 1.用最少的人力、时间找出软件潜在的各种错误和缺陷; 2.能够确认软件实现的功能和用户需求上是一样的; 3.能够收集到足够的测试结果为软件可靠性提供依据; 软件测试的任务:根据软件开发各个阶段的文档资料和程序的内部结构,精心设计

【软件测试】软件测试-----什么是Bug?Bug是如何分级的?Bug的生命周期是怎样的?如何描述一个Bug?

博客目录 一.软件测试的生命周期二.BUG的定义和级别2.1 bug的概念.2.2 如何描述一个bug.2.3bug的级别2.3.1 bug分级的意义.2.3.2 bug的四种级别. 三.BUG的生命周期.四.当与开发人员发生冲突该如何处理(高频面试)五.总结 一.软件测试的生命周期 软件测试贯穿于软件的整个生命周期,针对这句话我们一起来看一下软件测试是如何贯穿软件的整个生命周

【软件测试专栏】自动化测试函数篇

博客主页:Duck Bro 博客主页系列专栏:软件测试专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 自动化测试函数篇 关键词:函数、浏览器参数、常用函数、元素定位 目录 自动化测试函数篇一、元素定位函数1. cssSelector2. xpath 二、操作函数1. 点击/提交(按钮)2. 模拟按键输入(文本框输入)3. 清楚

专业软件测试服务机构分享:小程序测试步骤和作用

在数字经济飞速发展的今天,小程序因其轻量、便捷的特点受到了广泛关注。作为技术服务的重要组成部分,软件测试成为确保小程序质量的关键环节。 一、小程序测试的定义   小程序测试是指对小程序进行系统性验证和验证的过程,旨在检查其功能、性能、安全性等方面是否符合预期标准。小程序相比传统应用,相对轻量,开发周期短,更新频繁,测试的重要性尤为突出。卓码软件测评专注于提供专业的测试服务,确保每一个小程序在上线