2016阿里巴巴校园招聘测试开发工程师笔试附加题(含部分答案)

来源:互联网 发布:蒙泰设置打印端口 编辑:程序博客网 时间:2024/05/02 01:42

附加题-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,博主的企鹅】,博主给你分享!

 

1 0
原创粉丝点击