编程面试与笔试:三角形问题与测试用例设计

需积分: 0 0 下载量 57 浏览量 更新于2024-07-28 收藏 324KB DOC 举报
"这篇内容主要涉及的是面试和笔试题,特别是与编程和软件测试相关的题目。其中提到了一个三角形判断的问题,要求根据输入的三边长度a、b、c来确定是否能构成三角形,以及三角形的类型。此外,还涉及到等价类划分方法在测试用例设计中的应用,以及如何处理开发人员与测试人员对于软件缺陷认识不一致的情况,同时提出了对优秀测试工程师的素质要求。" 在这个三角形判断问题中,首先需要确保输入的三个数a、b、c都是非零正整数,并且满足三角形的性质,即任意两边之和大于第三边。如果这些条件都满足,那么程序将根据边长的关系输出不同的三角形类型:等边三角形、等腰三角形或一般三角形。如果无法构成三角形,程序则输出“非三角形”。 等价类划分是软件测试中常用的一种方法,它将所有可能的输入数据划分为若干个等价类,每个等价类中任一输入值代表了整个类。对于三角形问题,可以分为有效等价类(能构成三角形的边长组合)和无效等价类(不能构成三角形的边长组合)。例如,有效等价类包括满足三角形条件的边长组合,如345、445、455、545和444等;而无效等价类可能包括负数、零、非整数等。 在实际测试过程中,测试用例的设计需要覆盖有效和无效等价类,以确保程序在各种情况下都能正确运行。对于无效等价类的测试,目的是暴露程序可能存在的错误边界。 对于面试中遇到的问题,如开发人员不认同软件缺陷,测试人员需要提供充分的证据和理由,可能需要引用相关标准或行业实践,以争取问题得到解决。另外,面试官询问未被录用的原因,回答时应保持专业和积极,可以从个人成长和经验积累的角度去阐述,避免过于消极的表述。 最后,一个优秀的测试工程师通常需要具备以下素质:深厚的编程和技术基础,理解软件开发流程,熟练掌握各种测试工具和方法,良好的沟通和问题解决能力,以及对质量和风险的敏感度。在腾讯游戏测试的面试题中,不仅要求对C/S架构和网络协议有了解,还需要能够编写测试计划并进行集成和系统测试。