zl程序教程

您现在的位置是:首页 >  其他

当前栏目

《笑傲测试》笔记(前言+第一式:庐山面目)

测试笔记 第一 前言
2023-09-11 14:20:33 时间

前言

软件测试的价值与成功更多的源于经验和管理,能不能把一个测试项目计划、组织的井井有条和快速高效,把一个庞大的任务科学的细分并在合适的点上进行监督,用丰富的经验预判并规避可能的风险,这才是决定一个测试项目是否成功的关键。相对开发而言,测试对于实施者个人的技术水平和工具应用上的要求相对弱一点。

孤独九剑+足够的实战经验=测试高手

第一式:庐山面目——什么是测试及其核心价值所在

第二式:蓬门始开——测试的从业人员应该具备的素质

第三式:仙源何处——教你了解主要的测试门类和方法

第四式:矫如龙翔——如何开发测试用例

第五式:浮云遮日——如何定义测试流程

第六式:伯仲伊吕——如何制定测试计划

第七式:语报平安——如何书写测试报告

第八式:春寒锦袍——如何管理团队以及激励团队

第九式:江上鼓鼙——产品上市之后测试的角色定义

第一式:庐山面目

所谓软件测试,就是出于正常合理的目的[r1] ,在特定的时间环境[r2] ,用事先制定的标准[r3] 衡量一种软件产品或特性是否符合预期。

[r1]软件测试是为了软件质量足够可靠。凡是都有度,不是为了软件没有BUG,质量完美。

[r2]每一个开发的项目都是有周期的(版本周期);测试要在一定的环境中进行(case预置条件)。

[r3]可以让测试人员在测试的时候有章可循,也可以避免开发人员受到过多无中生有的骚扰。事先制定的标准可以帮助测试人员获得更大的发言权。

测试本身并不是在创造什么东西,而是由确认、验证、保证、评估、审核、报告等动作组成的统一体。

测试有两个主要的作用:第一是确认我们在做一个正确的东西(以软件的特性说明书为标准);第二是确保开发活动的方向是正确的[r4] 。

[r4]在设计阶段参与,预测项目行进的方向,预测项目的风险并及时排除;在项目执行过程中,注意监督每一步都是按照事先确定的方向和时间在走,如果偏离或延迟能及时发现并纠正,项目就会始终健康的进行下去了。

软件工程V模型图(必须会画)。

软件测试是为了软件质量足够可靠。

看一个BUG值不值得修改,不仅要考虑到它可能给公司带来的直接损失,还要考虑到品牌和信誉受到伤害而带来的间接损失。

专业的测试必须要由无利害关系、独立的人或团队来进行。原因如下:

第一:开发人员编写的程序,就好比父母对待自己子女一样,凝聚了心血的成果,所以审视的目光通常不会客观;

第二:有的时候设计和开发人员本身的理解可能有误,陷在错误的圈子里不能自拔,这是必须由他山之石来引入全新的思维才可能跳出这个圈子;

第三:对开发人员来讲,发现了BUG是一种痛苦,因为这意味着自己要投入更多的时间,加班甚至牺牲周末,而且领导不会领这种情,谁让你编的代码有问题呢?

不想当元帅的士兵不是好士兵(野心)。

BUG是否需要修改:在各执一词,公说公有理婆说婆有理,谁也说服不了对方的时候,这个时候就需要项目的高层来做出判断和决定。

除非到了不得已的时候,否则还是应该尽量依靠软件特性说明书[r5] 来做测试的准则,这对各方来说都是容易把握而且风险小的选择。

[r5]基线需求+局方需求+差异化需求(case)

开发项目中究竟会遇到哪些阻碍,事先我们无法一一看清楚,这是就需要项目管理者的经验和洞察力。测试在这个时候能起的作用就是提供数据和事实来帮助项目管理者作出正确的决定。

软件测试报告的主要内容:

第一:软件成熟度的定量评估

第二:测试用例通过率和不通过率

第三:软件成熟度的变化趋势

第四:今后可能的问题和成熟度走向(开发进行中,添加一些新的不稳定模块)

第五:严重问题的列表

第六:一些关键问题的风险评估








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/


麒麟系统开发笔记(十一):在国产麒麟系统上使用gdb定位崩溃异常方法流程进阶定位代码行数及专项测试Demo 上一篇,通过研究,可以定位到函数,本篇进一步优化,没有行数,程序较为复杂的时候,就无法定位,所以进一步定位。   本篇做了qBreakpad的研究,但是没有成功,过程也还是填出来,后来突然注意到gdb出现行数的方法,并通过了几轮测试以及实战,确实可以定位到行数,所以为了大家方便,把国企麒麟上的Qt崩溃方法分享出来。   本篇文章比较长,就不分篇了,同时还做了专项测试。
Qt+MySql开发笔记:Qt5.9.3的mingw32版本编译MySql8版本驱动并Demo连接数据库测试 之前特定的mysql版本msvc版本已经调通了,但是为了更好的跨平台,所以选择用mingw32版本,于是需要编译mysql驱动的mingw32版本的驱动库,以便提供给qt连接mysql使用。