美文网首页微信公众号:程序员阿沐
《软件测试常见面试题十二》

《软件测试常见面试题十二》

作者: 程序员阿沐 | 来源:发表于2020-09-19 12:31 被阅读0次

    1.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?

    尽量面对面的沟通,其次是能直接通过电话沟通,如果只能通过Emial等非及时沟通工具的话,必须对要沟通的主题理解深刻以及能表达清楚。

    运用一些测试管理工具进行管理也是较有效的方法,同时要注意在工具中对bug有准确的描述

    在团队中建立测试人员与开发人员良好的沟通中注意以下几点:

    一真诚、二是团队精神、三是在专业上有共同语言、四是对事不对人、切勿情绪化、工作至上

    当然也可以通过直接指出一些小问题,而不是进入bug跟踪总统来增加对方的好感

    2.你对测试最大的兴趣在哪里,为什么?

    没有标准回答,仅供参考

    最大的兴趣,感觉这是一个有挑战性的工作

    测试是一个经验行业,工作越久越能感觉到做好测试的难度和乐趣

    通过自己的工作,能使软件产品越来越完善,从中体会到乐趣

    回答此类问题注意以下几个方面:

    尽可能的切合招牌企业的结束路线来表达你的兴趣,例如该企业是数据库应用的企业,阿么表示你的兴趣在数据库的测试,并且希望通过测试提升自己的数据库掌握能力

    表明你做测试的目的是为了提升能力,也是为了更好的做好测试,提升能力不是为了以后转开发或其他的,除非用人企业有这样的安排

    不要过多的表达你的兴趣在招聘企业的范畴之外

    比如招聘企业是做财务软件的,可是你表现出来的是对游戏软件的兴趣,或者照片是做Java开发的,而你的兴趣是在C类语言程序的开发

    3.什么是测试覆盖率

    是指完成的测试工作目标量占总目标量的百分比,有很多分类

    软件测试覆盖率常用的计算公式

    功能覆盖率=至少被执行一次的功能测试点数/测试功能点总数

    需求覆盖率=被验证到的需求数量/总的需求量

    用例覆盖率=至少被执行一次的测试用例数/应执行的测试用例总数

    语句覆盖率=至少被执行一次的语句数量/有效的程序代码行数

    判定覆盖率=判定结果被评价的次数/判定结果总数

    条件覆盖率=条件操作数值至少被评价一次的数量/条件操作数值的总数

    4.一个号的测试用例,有哪些特点

    a.用例要完整、简洁、一致,至少含有编号、标题、操作步骤和预期结果

    b.用例要表明测试目的

    c.用例覆盖程度要高

    d.用例能够使使工作量最小化

    e.用例描述正确、规范,含有正确的规范的测试标题和编号

    f.用例的分类以及描述要足够清晰

    g.用例要具有可测性,用例易于维护,如果被测队形有所升级,测试用例的说明或者脚本是不是容易维护呢、可复用、可重复性,不管谁执行用例,结果都一样,可追踪性,用例能追踪到一个具体的需求

    5.测试结束的标准是什么?

    全部测试用例都执行完成

    未修改bug都被确认或置为应有状态、暂缓修改的问题都有详尽的解释

    测试报告编写完成

    测试收尾工作结束

    测试总结完成

    项目处于试运行或上线阶段

    在测试计划中定义结束标准

    如在计划中规定:系统在一定的性能下平稳运行72小时,本版本没有严重的bug,普通的bug的数量在3以下,bug修复率90%以上。

    实际测试达到上述要求,然后由开发经理,测试经理,项目经理共同签字,认同测试结束,版本即可发布。

    6.如何全面测试一款产品,请以手机短信功能为力来辅助说明,前提是手机自带的短信功能,并非微信,QQ这种软件

    能正常打开或者进入短信界面

    短信可以正常编辑、修改、删除

    短信可以正常发送和接收

    短信页面字体、颜色显示正常

    短信的字体可调整

    给对人同时发短信

    给特殊号码发短信,如运营商、不存在的号码、服务号

    接收验证码

    短信耗电量测试、短信不耗流(联网、不联网)

    短信干扰测试,如编辑短信期间(已经编辑好,正在打字),电话进来,便捷短信期间,收到短信,掩藏到后台,进行其他操作,再返回

    7.你手中的这支笔有多少用途,请发挥你的想象力

    写、画、染色、称重、当书签、当筷子、用来扎人、用来掏掉进笔记本键盘的小东西、用来去除缝隙里的灰尘、当做燃料、拿在手里转折玩、消遣一下,用来按电梯、塑料闭馆用来当吸管等等

    8.判断字符串回文

    回文序列是指正序和反序都相同的字符串,如“A",“BAB”,“BFFB”。实现一个函数,

    判断输入的字符串是否为回文,并写出测试用例。如有可能请使用你最熟悉的编程语言实现

    这个函数。

    需求分析:回文是一个字符串,正反都一样

    举例子找规律:

    奇数个字符:A BAB BADAB

    012 01 234

    [0] =[2] [0]=[4]、[1]=[3]

    总共 n 个字符,第 i 个=第 n-1-i 个,需要判断[n/2 下取整]次

    下一个是 1,结束 下一个是 2,结束

    偶数个字符:AA ABBA ABCCBA

    01 0123 012 345

    [0]=[1] [0]=[3]、[1]=[2] [0]=[5]、[1]=[4]、[2]=[3]

    总共 n 个字符,第 i 个=第 n-1-i 个,需要判断 n/2 次

    总体的规律:

    总共 n 个字符,第 i 个=第 n-1-i 个,需要判断 n/2 下取整次

    思路:

    需要一个字符串参数,表示回文

    循环判断,循环次数=n/2

    如果第 i 个=第 n-1-i 个,下一个是 n/2 结束

    否则,直接退出

    测试:

    空串、一个字符、两个字符(对称、不对称)、五个字符(对称、不对称)

    AA AB ABCBA、ABCBW、ABCWA、ABCDE

    java 代码:

    public static boolean message(String s){

    int n=s.length();

    boolean jg=false;

    if(n!=0)

    for(int i=0;i<=n/2;i++)

    if(s.charAt(i)==s.charAt(n-1-i)){

    //System.out.println(i+" "+s.charAt(i)+" "+s.charAt(n-1-i));

    if(i==n/2)

    jg=true;

    }

    else{

    jg=false;

    break;

    }

    return jg;

    }

    白盒角度:

    这里的条件覆盖等价于判定覆盖,n!=0 成立与不成立均测到

    for:循环 0 次不现实,所以不需要测,1 次以上

    s.charAt(i)==s.charAt(n-1-i)的条件覆盖等价于判定覆盖

    i==n/2 的条件覆盖等价于判定覆盖

    python 代码:

    s="ABCVE"

    n=len(s)

    if(n==0):

    print("空字符串不是回文")

    else:

    #print(int(n/2))

    for i in range(0,int(n/2)+1):

    if(s[i]==s[n-1-i]):

    if(i==int(n/2)):

    print(s+"是回文")

    else:

    print((s+"不是回文"))

    break

    9.Function (A ,B ,C )是一个判断三角形形状的函数,其中 A ,

    B ,C 是三个变量,分别代表三角形的三个边,请设计一组测试 

    用例,来测试这个函数是否正确。如有可能,请使用你最熟悉的 

    编程语言实现这个函数。 

    思路:

    三个参数(double)

    使用异常解决输入的不是数的问题

    三个边都是正的

    三边符合关系

    三角形类型(等边、等腰、直角、普通)

    java 代码:

    public static String function(double a,double b,double c){

    String jg;

    if(a>0 && b>0 && c>0)

    if(a+b>c && a+c>b && b+c>a)

    if(a==b && a==c)

    jg="等边三角形";

    else if(a==b || a==c || b==c)

    jg="等腰三角形";

    else if(a*a+b*b==c*c || a*a+c*c==b*b || c*c+b*b==a*a)

    jg="直角三角形";

    else

    jg="普通三角形";

    else

    jg="不能构成三角形";

    else

    jg="三边必须都是正数";

    return jg;

    }

    用例设计:

    场景:

    三边非全正(1、2、3 为 0 或负数)

    三边关系不满足(相等,小于)

    三边等

    两边等(3 条)

    直角(3 条)

    普通

    基本流用例:

    3 3 3

    3 3 4

    3 4 3

    4 3 3

    3 4 5

    3 5 4

    5 3 4

    3 4 6

    1 2 3

    1 2 4

    1 3 2

    1 4 2

    3 1 2

    4 1 2

    备选流用例:

    1 1 0

    1 1 -1

    1 0 1

    1 -1 1

    0 1 1

    -1 1 1

    1 0 0

    1 0 -1

    1 -1 0

    1 -1 -1

    0 0 1

    -1 0 1

    0 -1 1

    -1 -1 1

    0 1 0

    0 1 -1

    -1 1 0

    -1 1 -1

    10.常见的性能测试策略有哪些?

    负载测试、压力测试、并发测试、内存泄露测试、基准测试、配置测试、数据容量测试、疲劳强度测试

    微信搜一搜【程序员一凡】关注这个文绉绉的程序员,关注后回复【面试】有我准备的一线大厂面试资料和简历模板,希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!

    相关文章

      网友评论

        本文标题:《软件测试常见面试题十二》

        本文链接:https://www.haomeiwen.com/subject/ftglyktx.html