【软件测试】负载测试与压力测试的区别

负载测试与压力测试的区别在于负载测试侧重于压力持续的时间,而压力测试则更加强调施加压力的大小。

压力测试(Stress Testing):是指不断地给被测系统增加压力,直到被测系统被压垮,从而确定系统能承受的最大压力。它实际上是通过对系统不断施压,来确定系统瓶颈或不能接受用户请求的性能点,以获得系统能提供的最大服务级别。换句话说,压力测试就是为了发现什么条件下系统性能变得不可接受。

负载测试(Load Testing):通常是让被测系统在其能忍受的压力极限范围内(或临界状态下)连续运行,来测试系统的稳定性。其目的是找到系统的处理极限,为系统调优提供依据。

【软件测试】单元测试不属于动态测试

单元测试既不属于动态测试也不属于静态测试。

单元测试既可以使用静态分析,也可以使用动态测试,对于静态测试和动态测试应该配合使用。

从静态测试方面来说,静态测试的静态代码分析结果可以适用于所有可能的运行情况,但动态测试由于总是对特殊取值的测试,因此仅能测试到程序的特定属性,即保证被测组件在测试平台上对于特定的输入是有效的。

而从另一方面来说,动态测试可以覆盖到程序的各种前置条件和后置条件的组合情况,能够真实反映程序在特定运行期的运转情况,并能说明执行的常用路径,大大超过同期静态分析所能达到的范围。

所以说静态测试与动态测试应该配合使用,两者各有千秋。首先在单元测试的运行中从特殊到一般地推导出推测性不变量,然后利用分析工具从一般到特殊地验证不变量的存在,或者利用可在运行时检查的断言对代码进行注释。

【软件项目管理】里程碑事件的定义

里程碑事件:里程碑事件往往是一个时间要求为零的任务,即它并非是一个要实实在在完成的任务,而是一个标志性的事件。

例如,在软件开发项目中的“测试”是一个子任务,“撰写测试报告”也是一个子任务,但“完成测试报告”可能不能称为一个实实在在需要完成的子任务了,但在指定计划以及跟踪计划的时候,往往加上“完成测试报告”这一个子任务,但工期往往设置为“0工作日”,目的在于检查这个时间点,这是“测试”整个任务结束的标志。

【软件项目管理】知识点整理

需求管理的过程:需求获取、需求分析、需求规格编写、需求验证、需求变更
风险的三个属性:风险事件、概率、影响
当项目进行到某一阶段,项目经理发现项目组的一些人(包括关键人)要离开公司,这是项目经理首先应该:实施风险计划
如果你是某项目的项目经理,你已经估算出每个单元的成本是¥129。这个项目一共有1200单元,你采用什么估算方法:类比估算法
网络图可以用来:安排计划、展示任务之间的逻辑关系、用于详细的时间管理,但是不可以:用于跟踪项目
质量成本包括预防成本和缺陷成本,它说明了:额外需求成本
浮动是指:在不影响项目完成时间的前提下,一个活动可以延迟的时间量
在风险分析过程中,确定已经识别的一个风险事件是无法避免的,也是不能减轻的,也不能投保,这是一个关键的风险事件,一旦发生可能造成项目的失败,项目经理最佳的选择是:让风险评估小组继续分析该风险事件,直到降低预期影响
涉及多个领域工作的复杂项目最好采用哪种进行组织管理:矩阵型
人力资源分配图:展现项目中人力资源在各个阶段的分布情况
PERT(工程评估评审技术):乐观者、最可能、悲观者三类人评估
如果你已经决定对每个活动估计用一个时间估计值的方法来估计你的项目,你将采用——PERT方法。
PERT方法考虑了风险评估。
如果在一个项目网络图中,任务A有15天的自由浮动和25天的总浮动,但是任务A的最早开始时间延误了30天,那么这对项目意味着什么:任务A的下一个任务的最早开始时间将延迟15天
作为项目经理,你为项目制定了符合公司体系的质量保证的相关活动,这些质量保证活动可以:为项目满足相关质量要求提供信心
项目的基线发生变更应该经过谁授权执行:SCCB(软件配置控制委员会)
进度控制重要的一个组成部分是:确定进度偏差是否需要采取纠正措施
项目管理核心的三角形是:范围、时间、成本
在甲乙合同中,甲方是提出需求的一方,乙方是供应方
采用delphi方法来标识风险可以减少人为的偏差,以便作出正确的决定
质量保证是完成后看是否正确,是质量保证人员通过各种手段来保证得到高质量结果的工作,属于管理只能;质量控制是完成前检查质量,是由开发人员实施,直接对项目工作结果的质量进行把关,属于检查职能。
软件配置管理的目的是建立和维护整个生存周期中软件项目产品的完整性和可追溯性
责任分配矩阵是明确其角色与职责的有效工具
统计需求变更请求的数量是配置审核过程

1. 挣值分析中各个参数的计算及项目执行状态的分析(进度和成本执行情况)。P282
BCWS:原来计划成本(计划花的钱)
ACWP:实际花的钱
BCWP:已经获得的价值
BAC:项目完成的预计总成本
TAC:项目完成的预计总时间

SV(进度差异)=BCWP-BCWS
CV(费用差异)=BCWP-ACWP
SPI(进度效能指标)=BCWP/BCWS*100%
CPI(成本效能指标)=BCWP/ACWP*100%
EAC(预测成本)=BAC/CPI
SAC(预测时间)=TAC/SPI
VAC(成本差异)=BAC-EAC
TCPI(未完工的成本效能指标)=剩余工作/剩余成本=(BAC-BCWP)/(EAC-ACWP)

2. WBS的划分方法、划分依据,WBS的用途。(项目分解结构)
模板参照法:利用应用领域已有的标准或半标准法人WBS
类比方法:选用管理工具提供的一些WBS的实例作为参考
自顶向下:采用演绎推理方法,沿着从一般到特殊的方向进行,从大局着手,逐步分解(适用于对此项目特别熟悉的情况)
自底向上:从特殊到一般的方向进行,首先定义项目的特殊任务,然后将这些任务组织起来,形成更高的层次(适用于崭新的项目,有利于发挥创造力)
用途:
(1)WBS提供了项目范围基线,是范围变更的重要输入
(2)WBS明确了完成项目所需的工作
(3)WBS建立了时间观念,提供了一种控制手段

3. OBS的用途,OBS与WBS的结合使用。
OBS(组织分解结构)是项目组织结构图的一种非凡形式,描述负责每个项目活动的具体组织单元,它将工作包与相关部门或单位分层次、有条理地联系起来的一种项目组织安排图形。
OBS不是按照项目可交付成果的分解而组织的,而是按照组织内现有的部门、单位而组织的,把项目活动和工作分列在现有各部门下,这样,相关部门只需找到自己所在的位置,就可以指定所承担的所有职责。

4. 工作包的概念及用途。
工作包是WBS最低层次的可交付成果,是WBS的最小元素
1)可以对工作包进行成本估算、进度安排、风险分析以及控制跟踪
2)可以被进一步分解为项目进度中的活动
3)可以分配给另外一位项目经理通过子项目的方式完成

5. 软件项目中风险的分类,不同类型风险的区分。
从范围角度:商业风险、管理风险、人员风险、技术风险、开发环境风险、客户风险、产品风险、过程风险。
从预测角度:已知风险、可预测风险、不可预测风险

6. 风险的要素有哪几个,如何理解。
风险事件、风险发生的概率、风险造成的影响

7. 什么是质量保证,什么是质量控制,各有哪些手段?
质量保证:证明项目将会达到有关质量标准而开展的有计划、有组织的活动,属于管理职能。
手段:质量审计(需求过程审计、设计过程审计、编码、测试过程审计)

质量控制:确定项目结果与质量标准是否相符,同时确定不符的原因和消除方法,控制产品的质量,及时纠正缺陷的过程。
手段:技术评审、走查、测试、返工

8. 项目团队的组织结构有哪几种,各有何特点?
职能型组织结构:以部门为主体来承担项目,一个项目由一个部门或多分部门负责,有部门经理也有项目经理。可以充分发挥职能部门资源集中的优势,便于部门内部专业人员的交流。但是容易忽视客户的利益,资源的平衡也会出现问题。
项目型组织结构:项目经理有足够的权利控制项目的资源,项目成员向唯一一个领导汇报。组织结构简单,易于操作,项目团队精神得到充分利用。但资源不能共享,处于相对封闭的环境。成员缺乏事业上的连续性和安全感。
矩阵型组织结构:是职能型和项目型组织结构的混合体。专职的项目经理负责整个项目,以项目为核心,多个项目能共享部门资源。但是容易引起职能经理和部门经理权利的冲突。以及项目之间的冲突。

9. 项目沟通计划中需要完成哪些工作,步骤是什么?
决定项目相关人的信息和沟通需求(谁需要什么信息、什么时候需要、什么样的沟通方式)
沟通计划编制
沟通方式建议

10. 进度安排中确定任务间顺序关系时,任务间依赖关系有哪几种,如何区分?
强制依赖关系:工作任务中固有的依赖关系,不可违背,由客观规律和物质条件决定的(如需求分析一定要在软件设计之前进行)
软逻辑关系:由项目管理人员确定的项目活动之间的关系,是人为的,主观的。(如哪个模块先做,哪个模块后做)
外部依赖关系:项目活动和非项目活动之间的一种关系。(如环境测试依赖于外部提供的测试环境)

11. 成本估算中Delphi方法如何使用?
delphi专家估计法是通过计算每位专家的平均值(P + 4*M + O) / 6得到,然后求出所有专家的期望值(平均值)

12. PERT方法中任务历时的估算方法,保证率的计算
1.定额估算法(T=Q/R*S)(T:是活动的持续时间,Q:任务的规模(工作量),R:人力数量,S:效率)
2.经验导出模型(D=a*E^b) (D:月进度 E:人月工作量,a,b为固定参数)
3.工程评估评审技术
E=PERT=(O+P+4M)/6
标准差=(P-O)/6
方差=标准差^2

E+-标准差 (68.3%)E+-2标准差 (95.5%) E+-3标准差 (99.7%)

13. 项目章程包含哪些内容,有何用途?
内容:项目的正式名称、项目的发起人以及联系方式、项目经理及其联系方式、项目目标、可交付成果以及项目资源、预算及供应商等等。
用途:清楚的定义项目,说明它的特点和最终结果,而且指明了项目权威。

14. 什么是项目基线,基线变更需经过哪些过程?
项目基线:已经正式通过复审和批准的产品,它可作为进一步开发的基础,并且只能通过正式的变化控制过程改变
基线变更的过程:提出变更请求、SCCB给出变更评估、SCCB变更批准/拒绝、变更实现

15. 常用软件生存期模型有哪些?各有何特点?
瀑布模型:简单,易用,严格按照顺序自上向下执行,是一直理想化的模型,一般适用于功能明确、无重大变化的软件系统开发。
V模型:强调测试的重要性,将开发活动与测试紧密的联系在一起。此模型要求开发的群过程严格按照顺序执行。
快速原型模型:以逐步增加的方式进行开发,以便随时根据客户的反馈来修正系统,适用于项目需求不明确的情况。
增量式模型:首先构造核心功能,然后逐步增加和完善系统功能,可以避免一次性投资带来的风险。
渐进式阶段模型:体现了渐进式过程和阶段提交的模式,适用于大中型软件项目的开发。
敏捷生存期模型:关注持续的交付价值,通过迭代和快速的用户反馈管理不确定性和应对变更。

16. 衡量软件规模的方法有哪些,各有何特点,如何使用?
代码行、功能点、对象点技术 特点:容易计算代码行数,但代码行数依赖于编程语言和个人风格。估算不准确。
类比估算法 特点:简单易行,花费少,具有一定的局限性,准确性差
自下而上估算法 特点:相对比较准确,但非常费时,估算本身也需要成本
参数模型法 特点:简单,比较准确,但如果模型选择不当,也会导致偏差
专家估算法

17. 什么是里程碑事件,有何特点?
定义:往往是一个时间要求为零的任务,即它并非是一个实实在在完成的任务,而是一个标志性的时间。
特点:仅仅是事件的标记,不消耗时间和资源。

18. 什么是软件的质量?软件质量的管理经历了哪几个发展阶段?
定义:软件质量是指与软件产品满足规定的和隐含的需求能力有关的特征的全体
发展阶段:
1.1976年Boehm提出定量评价软件质量的概念,并且首次提出软件质量的层次模型,即Boehm质量模型
2.1978年,McCall提出从软件质量要素、准则、度量的三个层次软件质量模型
3.1985年,ISO提出了软件质量度量模型,提出内部质量度量和外部质量度量的概念。

19. 配置管理的主要工作内容有哪些?
配置项标识、变更控制、配置项状态统计、配置项审计

20. 沟通有哪些手段,各有何特点?
书面沟通和口头沟通、语言和非语言、正式和非正式、单向和双向、网络
对于紧急信息,采取口头沟通;对于重要信息,采取正式沟通

21. 项目沟通的基本原则有哪些?
沟通管理的基本原则是:及时性、准确性、完整性、可理解性

22. 什么是项目,有何特点,与日常运作有何不同?
项目是为了创造一个唯一的产品或者提供一个唯一的服务而进行的临时性的努力。
特点:目标性、相关性、临时性、独特性、资源约束性、不确定性
项目是一次性的,日常工作是重复进行的
项目是以目标为导向的,日常工作是通过效率和有效性体现的
项目存在大量的变更管理,日常工作保持持续的连贯性

23. 镀金和蔓延是何含义?
镀金指开发人员主动要求增加新功能以来讨好客户。
蔓延指客户不断提出新的需求,以至于项目范围没有很好的控制,项目工作范围超出了项目立项时的范围。

24. 软件需求有哪几个层次,如何理解?
业务需求:反映了客户对系统高层次的目标要求,由管理人员确定。
用户需求:描述用户通过使用本系统必须要完成的任务,一般由用户协助提供
功能需求:定义了开发人员必须实现的软件功能,使得用户通过使用此软件能完成他们的任务,从而满足业务需求

25. 如何完成项目进度计划的安排,包含哪些步骤?
根据任务分解的结果进一步分解主要的任务。
确定任务之间的关联关系
估算每个任务需要的资源、时间
编制出项目的进度计划

26. 软件项目成本包含哪几个部分?分别如何确定?P99
直接成本(与开发的具体项目直接相关的成本):人员工资、材料费、外包外购成本,包括开发成本,管理成本,质量成本等
间接成本(不属于一个具体的项目,是企业的运营成本):房租、水电、员工福利、税收等

27. 项目的范围、质量、成本、进度有什么关系
范围定义做什么,质量定义系统的好坏,成本决定项目的投入,进度定义项目的交付日期。这四个元素相互制约,相互平衡。范围和质量与成本成正比,进度与成本反比。

28. 使用网络图进行项目进度安排,确定每个任务的最早、最迟开始和结束时间,浮动时间的计算,关键路径的确定和计算P140
一个方框四个角,左上是ES最早开始时间,右上是EF最早结束时间,左下是LS最晚开始时间,右下是LF最晚结束时间。最长且浮动为0的路径即为图中的关键路径。一个任务的最早时间和最迟时间相同,则表示其为关键路任务。
TF(总浮动)=LS-ES=LF-ES 本任务可以延迟的时间
FF(自由浮动)=ES(后置任务)-EF-lag(任务之间的滞后)【在不影响后置任务最早开始时间,本任务(活动)可以延迟的时间】

29.  使用决策树及损益值分析进行项目风险分析和决策。P237
概率 回报 EMV(Expected Monetary Value,损益期望值)

【读书笔记】少有人走的路

  1. 自律是解决痛苦的根源,因为不自律逃避问题而带来的痛苦比逃避的事情本身的痛苦还要大得多。
  2. 培养先做困难的事,再做简单的事的习惯。
  3. 推迟满足感,避免拖延。
  4. 不应该逃避责任。人总是趋向于把责任推卸给社会或者现实等,而不从自己身上寻找问题。
  5. 神经官能症:总觉得责任在于自己,怀疑自己的能力有缺陷,给自己带来痛苦;人格失调症:把责任都归咎于别人。
  6. 你不能解决问题,就会成为问题。
  7. 很多人为了逃避选择和逃避责任,宁愿放弃自由,把自己的人生选择交给上司、社会、学校或者独裁者,让自己觉得痛苦不堪。
  8. 勇于承认自己的人生观不正确之处。调整会有痛苦,但我们应忠于事实。
  9. 真正的爱是彼此自由独立的选择,是互相的关心,依赖不是爱。消极性依赖:不在乎依赖的对象是谁,只要有人可以依赖,就来者不拒。只在乎别人能对自己做什么,而不在乎自己能对别人做什么~消极性依赖的婚姻或许可以持续很长时间,但是会导致很多痛苦。
  10. 爱是为了努力促进彼此心智成熟而表现出的勇气。
  11. 倾听是表达对他人关注的最主要的形式之一。学会用心倾听。
  12. 勇气并不意味着永不畏惧恐惧,而是在面对恐惧的时候能够坦然行动,克服畏缩心理。
  13. 不敢正视死亡,就无法获得人生真谛。只有正视死亡,才能更好的珍惜苦短的人生。

【双拼】双拼输入法入门指南

0 摘要

    用双拼输入法打字有5年了,深受其益,而身边知道双拼输入法的人几乎没有,所以决定好好安利一番这么好用的东西~

1 双拼的原理

     我们平常所使用的全拼输入法,每个字包括声母和韵母,如liang(声母l和韵母iang)、qiu(声母q和韵母iu)。这样就导致每一次输入一个字所需敲击键盘的次数长短不一,如“啊”只需要击键1次,而“双”需要击键6次(shuang),而双拼把所有的韵母都映射到了键盘上一个特定键上,使每个字都只需要击键2次就可以打出一个字,通过减少击键次数达到打字更快的目的。
     举个栗子~假设我们需要打一句话“我们是共产主义接班人”,
全拼需要击键:
     womenshigongchanzhuyijiebanren
双拼需要击键:
     womfuigsijvuyijxbjrf
【解释:wo我mf们ui是gs共ij产vu主yi义jx接bj班rf人】

2 双拼的优点和缺点

2.1 优点:

  • 无需下载专门的输入软件:我们平时所用的搜狗输入法、百度输入法这些打字软件(包括电脑端和手机端)都自带了多种双拼方案,只需要修改设置中的选项即可
  • 节约时间:(随着改革开放以来科技的飞速发展^_^)我们将来需要打字的时候非常多,学会了双拼能有效提高打字速度
  • 学习成本低:相比五笔而言学习成本低,只要全拼输入没问题的都能很快学会双拼输入

2.2 缺点

  • 如果你的手机或者电脑经常要给别的小伙伴玩,而你的小伙伴一下子用不了你的输入法也并不知道怎么设置回全拼输入方式,可能一定程度会导致你的朋友觉得好气哦。
  • 打字太快可能会被人说单身汪手速快- –

3 双拼的种类与使用方法

3.1 双拼的分类

     因为对于把韵母映射到具体哪个字母上的方案有很多,就构成了双拼有很多人为它定义了各种方案,常用的包括小鹤双拼、微软双拼、拼音加加、紫光双拼、自然码等。
     关于选择具体哪一种方案学习更好,其实总的来说,这些方案具体区别并不大,选择哪一种都可以,我选的是自然码方案。

3.2 使用方法

1) 在你的百度输入法或者搜狗输入法这些第三方输入法的设置中打开双拼输入,并且选择你想要学的双拼方案(比如自然码方案)
2) 对照着你所选择的方案表,在和别人聊天或者自己打字练习的时候耐心练几个小时,一开始肯定会不习惯,但是人很快就会适应,一般情况下练习不到一周时间就能够超过平时全拼时候的速度,再多加练习几天就能健步如飞打字比别的小伙伴快啦~双拼(自然码方案)的对照图表如下图所示:(其他方案的对照表也可以通过百度搜索到~)
3) 一些特例
  • 不是所有字都是声母和韵母组成哒,比如啊(a)和额(e)这些只有一个字母,怎么办呢,双拼中自然码方案的解决方法是重复该字母击键两次:啊(aa)、额(ee)、哦(oo)
  • 不是所有字母的声母都是只有一个字母的,比如是(shi)的声母是sh,愁(chou)的声母是ch,怎么办呢,双拼中把这些双音节声母对应成了一个不和别的声母重复的单独字母,从上图中可以看出,sh是(u),所以是的双拼输入是(ui);ch是(i),所以愁的双拼输入是(ib)【其中b表示ou】;而zh对应的是(v)
  • 有一个特殊的字是昂(ang),因为它没有声母,所以它的双拼比较特殊,是ah。
4) 举例说明
比如我们上面所说的“ wo我mf们ui是gs共ij产vu主yi义jx接bj班rf人”:
【我wo】w->w   o->o
【们men】m->m   en->f
【是shi】sh->u   i->i
【共gong】g->g   ong->s
【产chan】ch->i   an->j
【主zhu】zh->v   u->u
【义yi】y->y   i->i
【接jie】j->j   ie->x
【班ban】b->b   an->j
【人ren】r->r   en->f