附加题-2016校招-测试开发工程师
1.一个英文句子,去掉空格和所有标点符号得到一个字符串。给定一个包含各种单词的字典,请编写程序,将该字符串用空格重新按单词分开(不考虑标点符号),并给出测试用例验证程序的正确性,尤其是在特殊情形下的表现。例如:abrownfoxjumpsoveralazydog,插入空格分割单词后得到:a brown fox jumps over a lazy dog。
2.公司的汇报结构是树型的,假设员工表包含三个字段:id, name, manager_id。现在有N个任意选出的员工,请编写程序,将这N个员工以符合其组织结构的形式展示,并请给出一些典型的测试数据。下图是一个实例,当N=7时的7个员工S1 – S7的树形展示。A-D及X是这N个人之外的员工的ID,表示S1,S2是A的下属,B是A的下属,S3是B的下属,等等。
3. 为如下代码设计测试集,分别达到100%的行覆盖(statementcoverage)、分支覆盖(branchcoverage)、路径覆盖(pathcoverage)、条件覆盖(conditioncoverage)。
解答:
根据题目要求,达到100%的行覆盖(statement coverage)、分支覆盖(branch coverage)、路径覆盖(path coverage)、条件覆盖(condition coverage)
的测试集必须覆盖以下8种组合:
1.a>1,b=0
2.a>1,b<>0
3.a<=1,b=0
4.a<=1,b<>0
5.a=2,x>1
6.a=2,x<=1
7.a<>2,x>1
8.a<>2,x<=1
其中,第1至第4组合表示了第一个if语句的值,第5至第8组合表示了第二个if语句的值,由于x可能在该if语句之前发生了改变,
因此第二个if语句所需的值必须对程序逻辑进行回溯,以找到相对应的输入值。下面设计4个测试用例来覆盖它们:
a=2,b=0,x=4 覆盖组合1,5
a=2,b=1,x=1 覆盖组合2,6
a=1,b=0,x=2 覆盖组合3,7
a=1,b=1,x=1 覆盖组合4,8
如需更多更全的各大公司求职面试试题及资料,可联系博主【2516605455,博主的企鹅】,博主给你分享!