1、修正的判定/条件覆盖白盒逻辑覆盖法基本思想?下表中满足修正的判定/条件覆盖的测
答:修正的判定/条件覆盖白盒逻辑覆盖法基本思想——满足判定/条件覆盖,每个简单判定条件都应独立影响到整个判定表达式的取值。该指标是利用简单判定条件独立影响性来消除测试用例冗余
测试用例1,A发生改变,A AND B都发生改变;B发生改变,A AND B都发生改变;测试用例2,A发生改变,A AND B都发生改变;B发生改变,A AND B都发生改变;测试用例3也是一样。测试用例4,A为T时,A AND B为F;A为F时,A AND B为F ,都一样,测试用例4是冗余。
修正的判定/条件覆盖的局限性是无法处理存在耦合的判定表达式,如year<1800||year>2050。
2、语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、修正判定/条件覆盖测试用例设计的基本思想?
答:语句覆盖的基本思想:设计测试用例保证程序中每一条可执行语句至少执行一次
判定覆盖的基本思想:设计测试用例保证程序中每个判定节点的取真值和取假值分支至少执行一次
判定覆盖的基本思想:设计测试用例时应保证程序中每个复合判定表达式中,每个简单的判定条件的取真值和取假值分支至少执行一次
判定/条件覆盖的基本思想:设计测试用例的设计应满足判定节点取真值和取假值至少执行一次,每个简单的判定条件取真值和取假值至少执行一次
组合覆盖的基本思想:设计测试用例的设计应满足每个判定节点中,所有简单判定条件的所有可能的取值组合情况应至少执行一次
修正判定/条件覆盖的基本思想:满足判定/条件覆盖,每个简单判定条件都应独立影响到整个判定表达式的取值。该指标是利用简单判定条件独立影响性来消除测试用例冗余
3、逻辑覆盖中语句覆盖局限性是什么?请列举例子说明?
答:①语句覆盖不能检查出逻辑运算(&& ||)的错误,举例
软件测试的方法有哪些int SampleFunc1(int a,int b,int c,int x)
{if((a>1)&&(b<2))
X=c+1;
If((a==3)||(x>3))
X=x+c;
Return x;
……
}
如果if((a>1) && (b<2))错写为if((a>1) || (b<2)),if((a==3) || (x>3))错写为if((a==3) &&
(x>3)),是检查不出来的。如果测试用例a=3 b=0 c=3 x=0,预期输出x=7。修改后输出x=7 与预期结果完全一致。
②语句覆盖中循环语句错误是不能检查出来——循环次数错误;跳出循环条件错误。
④对隐式分支无效,当隐式分支中涉及诸如内存空间的分配和释放,语句覆盖是无法发现的。如下
Int sampleFunc2(bool bFlag)
{
Int *pArray=null;
Int sum=0;
If(bFlag)
pArray=new int[5];
for(int i=0;i<5;i++){
pArray[i]=I;
sum = sum + pArray[i]*I;
}
……
}
如果bFlag=False时,pArray为NULL,pArray[0] ←0会出现问题
4、正交测试适合什么样的情况?通过第二日、佣金问题进行分析?
答:基于正交表的测试是根据正交性原则,从全组合的测试用例中挑选具有一定代表性的测试用例的测试方法,其主要优点在于得到的测试用例数量少、测试分布均匀、结果易于分析。该法适于处理对数据完全不了解或者针对边界进行补充测试的情况。
基于正交表的测试并非在任何复杂的输入输出条件下都能体现出优势。当充分结合业务和数据特点来设计测试时,正交表很难体现出优势,当数据点具有较大随机性的时,正交表的优势较为明显。佣金问题比第2日问题更适合于采用正交表测试。佣金问题其输入条件之间不存在任何关联,输入条件约束较少,每个输入条件只有2个边界点(白酒每月的最高供应量为5000瓶,每月至少要销售白酒50瓶),在边界值测试的基础上很适于采用正交表来补充
测试。
5、软件测试环境有哪些方面?
答:软件测试环境和前提是测试计划中的一项重要内容,软件测试环境是否适合严重影响测试结果的真实性和正确性。测试环境包括硬件环境、软件环境、网络环境、历史数据。
硬件环境测试所需要的服务器、客户端、网络连接设备,以及打印机、扫描仪等辅助硬件设备所构成的环境,它是软件运行及提供部分功能的必要条件;软件环境指被测软件运行时的操作系统、数据库及其
他应用软件等构成的环境,它是应用软件运行的基础;网络环境主要是指针对C/S和B/S架构的软件;历史数据是指测试用例执行所需初始化的各项数据。
6、简述黑盒测试中边界测试的独立性假设?单缺陷假设?
答:独立性假设,假设各个输入条件之间互相独立,不产生互相影响,不具有相互的依赖关系。当针对某个输入条件确定边界点时,不考虑其他输入条件可能对该输入条件所产生的任何影响。
单缺陷假设,被测对象只要在某个输入条件的某个边界出错,则在任何包含该输入条件的某个边界的情况下一定会出错。测试时仅覆盖输入条件的单个边界点,无需测试多个输入条件同时取边界测试数据的情况。
7、等价类测试的基本原理?
答:测试完备性:即使采用少量的测试用例,也能在理论上完全覆盖被测对象的输入域和输出域;测试无冗余性;通过等价划分的方式,将数据分片,每个分片抽取典型数据测试,每个子集内所有数据都是等价的,被测系统对该子集的每个数据处理方式相同;各个子集之间互不相交,无冗余;所有子集的并集是整个输入域(保证完备)。
8、软件测试需要解决的3个问题?
答:①围绕用户的需求:如何有效获得用户的需求,如何准确理解和表达用户的需求,如何保证用户需求的稳定性
②软件产品是否符合预期:如何有效的设计测试用例,达到对成本、质量、进度的均衡控制
③测试过程的管理:如何合理评估和控制风险,如何管理包括环境、工具、人力、测试交付物在内的所有相关资源
9、Web应用程序特殊性表现在什么方面?Web应用程序测试重点是什么?
答:Web应用程序特殊性表现在:①整体结构为多层结构。表示层、业务逻辑层、数据层处于不同系统平台②Web应用程序多由典型实体构成,如HTML、CGI、JSP、XM L③从运行机制上看具有分布式、并发、动态、实时交互④综合使用多种编程机制,如CGI、PHP、ASP、JSP、数据库等,导致系统实现复杂⑤程序运行性能与环境和负载具有复杂的关系,如客户端浏览器缓存的设置、网络情况、服务器配置、用户访问方式、用户分布特性等,均影响到Web应用程序的性能
Web应用程序测试重点包括对系统的安全测试、性能测试、Cookies的测试、对超链接的测试、脚本语言容错的测试、浏览器兼容性的测试