【问题1】
(1)E
(2)C2
(3)C3
(4)E1
(5)E3
【问题2】
(6)8
【问题3】
(7)0
(8)1
(9)1
(10)1
(11)0
【问题4】
(12)性能测试
(13)兼容性测试
(14)HTML5、CSS3和Ajax在不同浏览器上兼容性有差异
本题考查软件测试方法及应用。
【问题1】
因果图中通过使用一些简单的逻辑符号,用直线来连接左右节点。其中左节点表示输入状态,也就是因果图的原因;右节点表示输出状态,即结果。因果图的基本符号为:
在实际问题中,约束状态间可能存在某些依赖关系,称为“约束”,类型包括:E(互斥)、I(包含)、O(唯一)、R(要求)和M(强制)。在因果图中,用特定的符号表明这些约束。
根据题目所提供的信息,我们可以分析出原因分别为C1、C2和C3,以及由C1和C2产生的中间原因11,结果分别为E1、E2和E3。由于原因C1(第一个字符为“#”)和原因C2(第一个字符为大写字母)不可能同时成立,因此它们在因果图上被设定为互斥关系(即E约束),表示它们之间是“或”的逻辑连接(只要其中一个原因发生,结果就可能发生;若两者都不发生,结果则不发生)。所以,因果图上的第(1)个空格应填写E,表示互斥,第(2)个空格填写C2,作为与C1互斥的另一个原因,进而推断出第(3)个空格应填写C3,作为另一个独 立的原因。
接下来,从题目描述“若第二个字符不是数字时,则系统会提示‘第二个字符必须是数字’”可以推断,原因C3(第二个字符不是数字)与结果E3(提示信息)之间是“非”的逻辑关系(原因存在时结果不发生,原因不存在时结果发生),因此第(5)个空格应填写E3。再根据题目中的规则“第一个字符必须是‘#’或大写字母,且第二个字符必须是数字,只有满足这些条件,信息才会被提交至服务器处理”,可以明白中间原因11与原因C3之间是“与”的逻辑关系(所有原因都必须发生,结果才会发生)。所以,为了得到结果E1(信息被提交),需要中间原因11的值为真,同时C3的值也必须为真。因此,第4个空格应填写E1。
【问题2】
判定表又称为决策表,经常用于描述复杂的程序输入条件组合与相应的程序处理动作之间的对应关系。由表3-1可以看出,题目中涉及3个条件(分别为C1、C2和C3,中间原因11是C1和C2进行“或”逻辑运算的结果,不应作为1个条件来看待),每个条件有2个取值(0或1),因此未做优化前判定表含有23=8条规则。
【问题3】
在“C1和C2状态都出现,C3状态出现或者C3状态不出现”的条件组合中,产生的2条规则是无效的,因此可以对含有8条规则的判定表进行优化,优化后的判定表如表3-2所示。
当C1和C2中任意一个状态出现时(即C1或C2的取值为1),中间原因11的值都为1,所以第(8)空应填写1;结果E3是否执行,与C3是否出现刚好是相反的。即C3状态出现(取值为1)时,结果E3不执行(取值为0),C3状态不出现(取值为0)时,结果E3执行(取值为1)。所以第(7)空填写0,第(10)空填写1,第(11)空填写0。
结果E1的取值是中间原因11和C3进行“与”逻辑运算的结果,因此想要结果E1执行(取值为1),则中间原因11和C3都必须同时出现,否则,结果E1不执行(取值为0)。所以第(9)空应填写1。
【问题4】
由题目描述可知,除了需要对网站登录页面进行功能测试外,针对“双十一”期间大批量用户同时登录的情况,还应进行性能测试。所谓性能测试,是为描述测试对象与性能相关的特征并对其进行评价而实施和执行的一类测试。它主要通过自动化的测试工具模拟多种正常、峰值,以及异常负载条件来对系统的各项性能指标进行测试。而针对“双十一”期间大批量用户同时登录的情况,实际上需要进行性能测试中涉及的负载测试,通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标的情况下,系统所能够承受的最大负载量。
在软件测试中,经常需要验证软件与所依赖的硬件平台和软件平台的依赖程度,以此来验证软件的可移植性,这就需进行兼容性测试。在B/S开发中,浏览器的兼容性测试是必不可少的测试项目,由于目前市场上的主流浏览器种类繁多,对于不同的浏览器,以及浏览器的不同版本经常会出现兼容性问题,不同厂家的浏览器对JavaScript、CSS3、Active或不同版本HTML提供了不同程度的支持。例如,某些特定的HTML标签只能在某些特定的浏览器上使用;某些特定的脚本和插件只适用于特定的浏览器。