软件测试读书笔记(佟伟光著)

软件测试读书笔记(佟伟光著),第1张

程序是指按特定的功能和性能要求而设计的能够执行的指令序列;

数据是指程序能正常 *** 纵、处理的信息及其数据结构;

文档是指与程序设计开发、维护和使用有关的图文材料。

软件危机:

(1) 软件生产不能满足日益增长的软件需求,软件生产率远低于硬件生产率和计算机应用的增长率,社会出现了软件供不应求的局面 。更为严重的是,软件生产效率随软件生产规模的增加和软件复杂性的提高而急剧下降。

(2) 软件生产率随软件规模与复杂性提高而下降,智力密集型行业的人力成本不断增加 ,这些都导致软件成本在计算机系统成本构成中的比例急剧上升。

(3) 软件开发的进度与成本失控 。人们很难估计软件开发的成本与进度,通常情况是预算成倍突破,项目计划一再延期。软件开发单位为了赶进度、节约成本,往往只有降低软件质量。软件开发陷入成本居高不下、质量无保证、用户不满意、开发单位信誉降低的怪圈中。

(4) 软件系统实现的功能与实际需求不符 。软件开发人员对用户需求缺乏深入的理解,往往急于编写程序,闭门造车,最后完成的软件与用户需求相距太远。

(5) 软件难以维护 。程序中的错误很难改正,要想使软件适应新的运行环境几乎不可能,软件在使用过程中不能增加用户需要的新功能,大量的软件开发人员在重复开发基本类似的软件。

(6) 软件文档配置没有受到足够的重视 。软件文档包括开发过程各阶段的说明书、数据词典、程序清单、软件使用手册、维护手册、软件测试报告和测试用例等。这些软件文档的不规范、不健全是造成软件开发的进度、成本不可控制和软件的维护、管理困难的重要原因。

从狭义上说,软件工程的目标是生产出满足预算、按期交付、用户满意的无缺陷的软件,进而当用户需求改变时,所生产的软件必须易于修改。从广义上说,软件工程的目标就是提高软件的质量与生产率,最终实现软件的工业化生产。

一般软件生存周期包括问题的定义、软件开发、软件测试、软件使用与维护等几个阶段。

软件错误是指在软件生存期内的不希望出现或不可接受的人为错误,软件错误导致软件缺陷的产生。

软件缺陷是存在于软件(文档、数据、程序)之中的不希望出现或不可接受的偏差,软件缺陷导致软件在运行于某一特定条件时出现软件故障,这时软件缺陷被激活。

软件故障是指软件在运行过程中产生的不希望出现或不可接受的内部状态,对软件故障若无适当措施(容错)加以及时处理,就会使软件失效。

软件失效是指软件在运行时产生的不希望出现或不可接受的外部行为结果。

软件质量是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和。

其含义有以下4个方面:

软件测试定义:使用人工或自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。

软件测试的原则:

尽早测试;全面测试;全过程测试;独立的、迭代的测试;Pareto原则:测试发现的错误中80%很可能起源于20%的模块中;对测试出的错误结果一定要有一个确认的过程;制订严格的测试计划;完全测试是不可能的,测试需要终止;妥善保存一切测试过程文档;注意回归测试的关联性。

(1)功能测试。功能测试主要针对产品需求说明书对软件进行测试,验证软件功能是否符合需求,包括对原定功能的检验以及测试软件是否有冗余功能、遗漏功能。

(2)健壮性测试。健壮性测试侧重于对程序容错能力的测试,主要是验证程序在各种异常情况下是否能正确运行,包括数据边界测试、非法数据测试、异常中断测试等。

(3)接口测试。接口测试是对各个模块进行系统联调的测试,包括程序内接口测试和程序外接口测试。在接口测试中,测试人员在单元测试阶段进行一部分工作,大部分工作是在集成测试阶段完成的。

(4)性能测试。性能测试主要测试系统的性能是否满足用户要求,即在特定的运行条件下验证系统的能力状况。性能测试主要是通过自动化的测试工具模拟正常、峰值以及异常负载状况,对系统的各项性能指标进行测试,测试中得到的负荷和响应时间等数据可以被用于验证软件系统是否能够达到用户提出的性能指标。

(5)强度测试。强度测试是一种性能测试,强度测试总是迫使系统在异常的资源配置下运行。强度测试的目的是找出因资源不足或资源争用而导致的错误。

(6)压力测试。压力测试是一种性能测试,主要是在超负荷环境中,检验程序是否能够正常运行。压力测试的目的是检测系统在资源超负荷的情况下的表现,是通过极限测试方法,发现系统在极限或恶劣环境中的自我保护能力。压力测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,压力测试还要评估软件的性能特征,例如响应时间、事务处理速率和其他与时间相关的性能特征。

(7)用户界面测试。用户界面测试主要对系统的界面进行测试,测试用户界面是否友好、软件是否方便易用、系统设计是否合理、界面位置是否正确等问题。

(8)安全测试。安全测试主要测试系统防止非法侵入的能力,例如测试系统在没有授权的内部或者外部用户对系统进行攻击或者恶意破坏时如何运行,是否能够保证数据的安全。

(9)可靠性测试。可靠性测试是指为了保证和验证软件的可靠性水平是否满足用户的要求而进行的测试,即确定软件是否满足软件规格说明书中规定的可靠性指标。软件可靠性测试的目的是给出可靠性的定量估计值,通过对软件可靠性测试中观测到的失效数据进行分析,可以评估当前软件可靠性的水平,验证软件可靠性是否达到要求。软件可靠性测试是一项高投入的测试工作,通常需要进行大量的测试。

(10)安装/反安装测试。安装测试主要检验软件是否可以正确安装,安装文件的各项设置是否有效,安装后是否影响整个计算机系统;反安装测试是逆过程,测试软件是否被删除干净,删除后软件是否影响整个计算机系统等。(11)文档测试。文档测试主要检查内部/外部文档的清晰性和准确性,对外部文档而言,测试工作主要针对用户的文档,以需求说明、用户手册、安装手册等为主,检验文档是否和实际应用存在差别,而且还必须考虑文档是否简单明了,相关的技术术语是否解释清楚等问题。

(12)恢复测试。恢复测试主要测试当出现系统崩溃、硬件错误或其他灾难性问题时系统的表现情况,以及系统从故障中恢复的能力。

(13)兼容性测试。兼容性测试主要测试软件产品在不同的平台、不同的工具软件或相同工具软件的不同版本下的兼容性,其目的是测试系统与其他软件、硬件兼容的能力。

(14)负载测试。负载测试是通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征。例如,响应时间、事务处理速率和其他与时间相关的方面。

制订测试计划、设计测试、测试准备、测试环境的建立、执行测试、评估测试和总结测试。

这个程序的运行过程如下

先是s[12]的赋值,然后就是c[5]的赋值。

在第一个for循环里面,改变的是c[5]里面的元素的值

第一次到每四次循环,c[1]=1;c[2]=1,c[3]=1,c[4]=1,

第五次到八次循环,c[4]=2,c[3]=2,c[2]=2,c[1]=2,

第九次循环,c[1]=3,

第十到十二次循环c[1]=4

c[2]=3,

c[3]=3,

第二个for循环,输出c[1]到c[4]

所以输出为

4

3

3

2

推荐三个好用的笔记软件给大家。

1、有道云笔记

有道云笔记+Markdown语法。优点是手机、电脑可同步使用,而且关键免费。

2、visual studio code

一款功能强大的记录软件,可装插件。

3、DocRun 算力笔记

可以展示代码,支持交互运行代码 c++/python/js/matlab/R。

作为一个超级爱分享,爱记录,爱总结,外加爱记录的程序员,真的是会经常用到一些非常好用的笔记软件或者工具,所以,我可以给大家推荐一下,我自己是如何做笔记的,都用到了哪些软件?

首先,我先说一下,我是一个 MBP 的忠实粉丝,所以我的电脑就是 Macbook Pro ,所以分享和推荐给大家的做笔记的软件都是基于苹果电脑的。(PS :苹果电脑真的非常好用)

第一款软件:Unclutter

首先,记笔记最重要的是什么?其实,记笔记最重要的是可以随时随地非常方便的把自己想记录的内容,马上记录下来。那么,Unclutter 这款软件真的是非常的好用。非常方便的调出来做笔记,只要你点击复制,自己生成 历史 记录。简直不能太方便了。我简单介绍一下它。

Unclutter 本身是一个多功能的隐藏菜单,里面包含 Clipboard(剪切板),File Storage(存储区域),Notes(随手记)三个功能区,当你用鼠标或是 Trackpad 从屏幕顶部向下滑动时,Unclutter 菜单就会落下来,接下来的 *** 作就会非常容易了。

看到了吗?最左边是剪切板,中间是文件存储区,最右边是 notes 随手记。你只要使用复制或者剪切功能,复制文字的话,它都会自动复制到剪切板上。如果你复制的是,就会自动存储在文件存储区。

另外,你想做的笔记和内容,可以直接在最右边的随手记上记录,可以生成记录的 历史 列表,非常的方便。

显示这个面板的方式非常简单,把鼠标放在屏幕顶部,双指向下滑就能下拉启动该工具;反之,双指向上滑动则是收回工具。

第二款:Typora

Typora 这款软件就不用我过多的介绍了吧?被称为世界上排版最美的 MarkDown 工具。

我们随手把自己记录的笔记记录下来以后,下一步该怎么办呢?肯定是要学习总结,整理成文章啦。整理文章,我个人最喜欢用的当然是 MarkDown 这样轻量级的标记语言做的排版。那么我就会用 Typora (注:这款工具也有 windows 版本)。

Typora 是一款好用极简免费的跨平台 Markdown 编辑器,软件使用这款软件能够帮助用户轻松将文本转换到 HTML,软件从底层向上设计,软件支持 markdown 的标准语法,同时这款软件还支持动态预览功能,一键预览,让一切都变得如此干净、纯粹,是一款不可多得的优质 markdown 编辑器。

我个人非常喜欢这款软件,尤其是再配搭图床工具,可以直接把上传搞定,简直不要太方便了。

总结

其实,我个人不太喜欢有道云笔记,为知笔记,以及印象笔记这样的软件的,因为我感觉大部分使用它收藏了之后,大家可能就忘了,很少打开这样的笔记工具去学习和看了。

我使用使用随手记,直接在桌面上呼之欲出能够让我看到今天总结的东西的软件,配合上写作软件,让我效率很高。因为,我需要把笔记,及时整理成文章,然后发布在博客上,只有,把笔记整理成文章,才能转化成自己的语言和知识,这是一个提高和学习的过程。

而不仅仅是使用各种收藏类的笔记软件,把他们收藏了之后,就不再管了,可能过几天你都能把记录的笔记都忘了。而我推荐的这两款工具,是随时都可以调出来马上看到和使用的,尤其是 Unclutter 这款工具,在电脑上,往下呼之欲出,马上就能看到,再学习和整理。我认为,这才是记笔记正确的方式。

这也是我学习的方式。

都2020年,全面云时代了,还软件,还编辑器[泪奔]。就连微软的宇宙第一IDE都要推出web版本了,各位技术人员能不能专业点,跟进一下时代潮流!十万阿里人都在使用的技术文档工具“语雀”了解一下,在线记录,不用安装,支持技术人员常用的各种格式,免费使用,markdown文档,代码,脑图,表格,uml,,视频,office等等。支持十人团队协同编辑,实时分享,用完这个,我相信你会把你电脑上的这云笔记那笔记软件,各种编辑器全部卸载[灵光一闪]。什么?在线编辑器,没网干不了活?!5G都来了,你告诉我你没网,你转行吧[大笑]

程序员做笔记的软件?听起来好像程序员很特殊似的。不过稍微想想,在记笔记的方面,程序员还真有一个特殊之处——他们的笔记,很多是嵌在代码里,当做注释写的。

注释之外,还有项目规划、大脑清理、头脑风暴、参考资料、进度追踪之类的笔记。这些内容我用OneNote来做。因为OneNote的层级结构做得特别好,很符合理工男的逻辑思维习惯。

所以回到题目, 我的推荐是:程序相关的直接记到代码里,思维相关的记到OneNote里。

稍微展开说几句:

1、程序相关的笔记直接记到代码里。

程序员要不要写代码注释,这是一个争论已久的话题。争论的本质,其实是“相不相信自己的长期记忆力”,以及“相不相信代码本身就是注释”。我个人不相信长期记忆力,所以要写注释。但我又偏向于好的代码,本身就是自解释的,不需要写注释。

如果带项目,考虑到团队协作,这个争论往往是以“写注释”告终的。写程序时候的思路、坑、用到的算法、需要注意的事情、后续改进的地方,都可以直接用注释的形式写到代码里。这样其他接手项目的程序员,可以更容易理解你的代码。

那么,程序员用什么软件写代码,也就是用什么软件做编程笔记了。我试用过很多,最后还是更喜欢Sublime Text

2、思维相关的记到OneNote里。

其实跟项目相关的思考,大部分内容还是不方便记到代码中的,我会记到微软的OneNote里。

跟项目没有关系的,只要是思考和学习内容,都可以记到OneNote里。我现在已经把OneNote作为我的文档中心,只有在不得已的情况下,才输出成单独的文档。你现在看到的这篇问答也是在OneNote里写出来的。

在一个统一的内容管理软件中处理文档,简直太方便了。定位、查找、复制、整理,统统很容易。

OneNote最大的好处,是它的多重分类层级。大致分为笔记本、分区组、分区、页面、子页面几个层级。它的分类导航排列在工作区四周,本身有很强的提示功能,很容易能够把分类做得井井有条。我个人感觉,OneNote的分类效果,远比在资源管理器里直接用文件夹做分类好得多。

OneNote另一个杀手锏,是多平台同步。我现在做笔记已经全天候无死角了。PC、Pad、笔记本、手机,统统自动同步。能够随时记笔记,可以说是笔记软件最重要的功能了,这方面OneNote做的不错。

对了,OneNote还是免费的,不但软件免费,还提供25G的云存储空间,还有微软出品的品质保证。有人说OneNote的云同步太慢,我实测很久,感觉完全够用。真的不够用了,还有商业化的解决方案可供选择。

3、零散的想法用讯飞的语音输入,记到各种“快速笔记”中。

OneNote自带一个“快速笔记”——没有分类的笔记。你有了一个突然冒出来的想法,可以先记录下来,以后再整理。这个快速笔记也是多平台同步的,很方便后续的加工处理。

不管何时,只要你有了想法,就可以用手机呼出快速笔记,说出你的想法,用讯飞输入法识别成文字,记录下来。如果希望直接记录语音也没问题,OneNote本身就支持。

总结一下吧:

程序猿的笔记,程序相关的,大部分记到代码中,小部分记到OneNote中。其他笔记,都记到OneNote中,构建自己的个人知识体系。有了零散的想法,也可以通过“快速笔记”第一时间记录下来,免得遗忘。

一句话:OneNote真是个好用的东西,即便你不是程序员,也应该考虑考虑它。

我推荐一款:Evernote(印象笔记),非常好用且功能强大的一款笔记软件。

我推荐它有以下几个理由:

多个设备之间同步

印象笔记有PC端和移动端,电脑编辑以后,手机上可以立马看到。平时外出需要记录问题的时候,拿出手机就可以记录。回到家以后打开PC端的印象笔记,立马就可以看到通过手机记录的内容。并且支持多个手机和多个PC之间相互同步。

直接PPT演示

这也是它最大的优点。平常我们需要写各种技术文档。有时候领导要求我们做成PPT给其它同事演示分享,而程序员是非常讨厌做PPT。印象笔记解决了程序员这一痛点。用印象笔记写完文档以后,可以直接以PPT的形式演示,无需在制作额外的PPT。

思维导图

印象笔记可以直接画思维导图,用思维导图进行头脑风暴或信息梳理,激发灵感,高效梳理思路。还能在导图中与笔记巧妙联动,让信息串链起来,或是一键为笔记本生成思维导图目录,高效连结相关信息资料。

支持MarkDown语法

Markdown 是一种轻量级的标记语言,用简洁的语法代替排版,我们程序员非常喜欢使用这种语法。 其常用的标记符号不超过十个,相对于更为复杂的 HTML 标记语言来说,Markdown 十分的轻量,学习成本也不需要太多,且一旦熟悉这种语法规则,会有沉浸式编辑的效果。印象笔记Markdown支持CommonMark和GFM标准。

此外,印象笔记还支持 音频笔记、拍照笔记、多人协作、收藏网页和文章等功能,是团队协作和个人工作的最佳选择。不过,印象笔记的高级功能需要付费使用。

用过notion、印象笔记、有道云笔记、石墨文档、语雀。其实就两个严格来说不是笔记软件,是协同办公。但是语雀很好用,就是语雀客户端丑一些,但是挺好用的。目前在用语雀

为了找到合适程序员的笔记软件,我试用过很多,如OneNote,Notion,有道云笔记,Quiver,MWeb,语雀,GoodNotes还有Notability。

最后我的选择 电脑端用语雀 iPad端用Notability+备忘录

OneNote 的功能非常强大,各种平台也都支持,可以说是综合实力最强的一个了。但是对于我来说最大的问题是打开速度太慢,再加上服务器在国外,网速也很感人,对于我来说,这点很致命,导致我还是放弃了它。

Notion 这个软件网上评价都很好,但是一个 全选功能只能选中当前块 让我放弃了。

有道云笔记 体验基本都还不错,但是在Markdown中插入要购买会员就没有再试了。

Quiver MWeb 有些相似,本地笔记的功能够用,也都支持Markdown格式,但是不同电脑之间同步会比较麻烦,只能用云盘或者是自建git仓库。

语雀 是我经过挑选之后最后选择的,编辑器对于各种功能的支持都有,还支持团队编辑,可以查看 历史 版本比较差异,程序员用来建立知识库或者是团队文档库都很不错。

由于语雀对于移动端不支持,所以在iPad上我比较了GoodNotes和Notability,最后选择了Notability,至于选择的原因可以看我的另一篇回答,里面有说到。

当然,这只是我接触体验过的笔记软件中的比较,仅供参考,也许还有我没有接触过的更好用的笔记软件。

云端的有免费的有道笔记,OneNote, 付费的印象笔记,为知笔记,总体来说,如果你笔记整体内容比较少的话,这四个用起来都差不多,但是如果笔记整体比较大,内容很多,超过几千条,那免费的就最好用OneNote,付费的就用为知笔记。如果你只是在本地电脑上使用,那就推荐使用myBase,功能很强大,几乎是不二的选择

作为一个持续学习的程序员,笔记必不可,而我使用的笔记软件,主要有2个,分别是印象笔记、有道云笔记,下分别简单介绍下,也大同小异,看个人喜好选择了:

一、印象笔记

1支持多端云同步

可以在ios、Android、window、Mac、ipad、web页面等形式,编写你的笔记

但这既是印象笔记的优点,也是印象笔记的缺点,就是超过2个端,需要支付会员,才能同步其他端。

2 *** 作简单。

3window下使用,当笔记内容过多时,软件经常卡崩溃,之前因此弃坑。

二、有道云笔记

1支持多端云同步

可以在ios、Android、window、Mac、ipad、web页面等形式,编写你的笔记

2界面优雅

3支持多级存储(印象笔记只支持2级)

即你可以创建一个文件夹,文件夹下面再创建文件夹,类似的window的 *** 作,分多级来存储分类你的笔记。

4大厂支持

这是互联网大厂网易旗下的产品,有保障。

在互联网还不发达的时代,无论是哪一行的从业人员,对于会议的介绍,知识点的整理都是习惯性的记录在笔记本上,随身携带上面记满了密密麻麻的备忘录,用完的记事本是一本接一本,到了近几年随着互联网的发展,网上的云端笔记也越来越多,所以选择一款适合自己的云笔记显得尤为重要。

我是在14年踏入程序员这个行业,对于常用的语法还有函数是真心的记不住,但是在那个时候也没有经验,就在电脑上新建个记事本,把遇到的问题以及解决问题的方法记下来,我记得当时还随身携带着U盘,到其他电脑上再把文件拷出来,后来就传到360云盘,等到换了电脑也能直接从360云盘上下载来下。

也许很多人觉得我的这个过程很繁琐,但这也是那几年我最常用的一种做笔记方式,我相信也会有和我有相同经历的小伙伴吧,不管是笔记还有常用的软件就是保存在360云盘上,但是过了几年360云盘突然宣布不再免费提供个人版,这让我们这些个人用户一下慌了神,在免费下载日之前着急忙慌的开始备份资料,已经不记得当时丢失了多少资料,最后随着时间的流逝,当时做的笔记也都无从查找了,对于自己来说也是一笔损失。

那时间来到最近两三年,我发现我身边的同事都把服务器的信息或者常用的账号密码保存的很清晰,我就问他用的是什么软件, 从这时开始,有道云笔记走进了我的世界,一经使用我就对这款软件爱不释手。

有道云笔记是网易旗下的一款在线保存文档笔记的一款产品,无论是在界面的设计,还是功能的使用中,对于我来说都能够满足大部分的需求,我常用在电脑编辑, 每天到公司第一件事就是先登录有道云,因为每天有太多的资料账号去登录,先打开有道云的网页,在用到其他资料的时候就可以很清晰的找到所需信息 ,并且支持手机端APP同步,如果在外出差不方便打开电脑,在手机上做完笔记就可以一键保存了。

除了有道云笔记之外,我这边了解到的常用笔记还有 印象笔记、腾讯文档、WPS文档等等 ,其实都可以满足各种做笔记的需求,最后希望大家能找到一款适合自己的笔记,有效的提高自己的工作效率。

以上就是关于软件测试读书笔记(佟伟光著)全部的内容,包括:软件测试读书笔记(佟伟光著)、c语言c[5]={0};这个程序是怎么运行的、程序员用来做笔记的软件有哪些推荐等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10216179.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存