diff --git a/README.md b/README.md index ae27c6f309b3867e51e4a7829ef847b91b2dd452..058a7ef04b9b4aadbbc6e89b73e45f9d34ec327d 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ **输出:**《需求规格说明书》 #### 1.2.4 评审 -**描述:** 评审就是做审查,对这个阶段的工作进行审查,看是否偏离或者有遗漏(比如:设计和工厂的各个环节都有相关的审查,审查材料是否合格、设计是否符合规定、按照工人/设计出的材料需求是否足够或者多余等等,这些审查都是评审);评审一般由相应工作人员来参与。 +**描述:** 评审就是做审查,对这个阶段的工作进行审查,看是否偏离或者有遗漏(比如:设计和工厂的各个环节都有相关的审查,审查材料是否合格、设计是否符合规定、按照工人设计出的材料需求是否足够或者多余等等,这些审查都是评审);评审一般由相应工作人员来参与。 **参与者:** 每个阶段的评审一般都是各职能部门内部审核,也可以申请其他相关人员审核,比如需求评审,一般是产品经理、项目经理、测试人员、开发人员一起评审;系统设计一般是项目经理、开发人员评审;测试策略评审一般是测试组内部评审等等 @@ -285,7 +285,7 @@ W 模型是顺序性的、不可逆的,需求的变更和调整,依旧不方 ### 1.4 软件缺陷 #### 1.4.1 缺陷定义 -IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。 +IEEE (电气和电子工程师协会标准IEEE) 对缺陷有一个标准的定义:从产品内部看,缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。 符合下面4个条件之一就是缺陷: 1. 软件未达到规格说明书中规定的功能; @@ -694,7 +694,7 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 黑盒测试从用户的角度出发,以输入数据与输出数据的对应关系进行测试,数据驱动。 -黑盒测试注重测试软件的功能需求,主要视图发现下列几类错误 +黑盒测试注重测试软件的功能需求,主要视图发现下列几类错误: 1. 功能不正确或遗漏; 2. 界面错误; 3. 数据库访问错误; @@ -882,9 +882,8 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 这5个必要条件使得操作的执行完全依赖于条件的组合。对于不满足条件的判定表,可增加其他的测试用例。 ### 3.5 因果图 -前面我们介绍的等价类划分法和边界值分析法都没有考虑到输入情况的组合。这样虽然各种输入条件可能出错的情况已经看到了,但是多个输入情况组合起来可能出错的情况却被忽视了 +前面我们介绍的等价类划分法和边界值分析法都没有考虑到输入情况的组合。这样虽然各种输入条件可能出错的情况已经看到了,但是多个输入情况组合起来可能出错的情况却被忽视了。 >地铁自动充值机充值 -> >假设自动充值机每次只能投入面值50或者面值100的人民币,投入钱后会有充值50和充值100两个选项 等价类划分法和边界值分析法可能不会测试到投入面值50的人民币,然后点击充值100这种异常情况;因此,当程序的输入条件有多个的话,就需要用到因果图法来设计测试用例了。 @@ -1100,7 +1099,7 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 静态测试有代码检查、静态结构分析。 * 代码检查 -主要是检查代码的可读性、逻辑表达的正确性、结构的合理性等方面。一般在编译和动态测试之前执行,具有走查、审查或伙伴检查等方法 +主要是检查代码的可读性、逻辑表达的正确性、结构的合理性等方面。一般在编译和动态测试之前执行,具有走查、审查或伙伴检查等方法。 * 静态结构分析 测试者通过使用测试工具,分析程序代码数据结构等控制逻辑,生成函数调用关系图等,用于检查函数之间的调用关系是否符合要求,是否存在递归调用,函数的调用是否过深,是否存在孤立的函数,用于检测系统是否存在结构缺陷。 @@ -1171,8 +1170,8 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 #### 4.4.5 修正条件/判定覆盖 修正条件/判定覆盖(Modified Condrtion/Decision Coverage,MC/DC),修正条件判定覆盖是判定中每个条件的所有可能结果至少出现1次,每个判定本身的所有可能结果也至少出现1次,并且每个条件都显示能单独影响判定结果。 -1. 语句覆盖 -2. 条件判定覆盖 +1. 语句覆盖。 +2. 条件判定覆盖。 3. 独立影响:其他条件相同,单一条件改变,结果改变。消除判定中的某些条件被其他条件掩盖的问题。 | 序号 | a>0 | b>0 | a>0 and b>0 | @@ -1308,9 +1307,9 @@ MC/DC具有如下优点: #### 4.8.1 插桩位置 插桩位置主要解决的是在哪儿插的问题,为此将程序按“块”划分,探针主要插桩在其“路口”的位置,主要考虑以下4种位置: 1. 程序的开始,即程序块的第1个可执行语句之前; -2. for、do、do-while、do until 等循环语句开始、结束处。 -3. if、else if、else及end if等条件语句各分支开始、结束处。 -4. 函数、过程、子程序调用语句之后, +2. for、do、do-while、do until 等循环语句开始、结束处; +3. if、else if、else及end if等条件语句各分支开始、结束处; +4. 函数、过程、子程序调用语句之后; 5. 程序的出口,return、call之后。 #### 4.8.2 插桩策略 @@ -1367,7 +1366,6 @@ C ̂≈ C+ 3√C 该公式是假设用户登录会话符合泊松分布而估算得到的。 > eg. -> > 一个软件系统每天大约有400个用户访问,用户在一天之内有8小时使用该系统,从登录到退出该系统的平均时间为4小时。 > C=400×4/8=200 > C ̂≈200+3×√200=242