2018.8.12-----测试问题
1.问:什么是兼容型测试?兼容性测试侧重哪些方面?
答:兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了
兼容和配置测试的区别在于,做配置测试通常不是在Clean OS下做测试,而兼容测试多是在Clean OS环境下做的
补充:做兼容测试的具体步骤:在列好的软硬件环境清单做冒烟测试,还是每一步都测试。测出不兼容,怎么和开发沟通,开发面对这些不兼容需要做什么。如果修复成本很高,怎么和产品经理沟通。和谁确认表单
2.问:我现在有个程序,发现在Windows上运行的很慢,怎么判别是程序存在问题还是软硬件系统存在问题
答:1、检查系统是否有中毒的特征
2、检查软件/硬件的配置是否符合软件的推荐标准
3、确认当前的系统是否独立,即没有对外提供什么消耗CPU资源的服务
4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成
5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况
补充:每一步该怎么实现,需要用到什么技术
3.问:测试的策略有哪些
答:黑盒/白盒/灰盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
补充:公测是什么?还有没有其他的测试策略?测试策略和测试方法以及测试类型有什么区别?
4.问:正交表测试用例设计方法的特点是什么?
答:用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法
补充:什么时候用系统测试,测试的每个阶段是什么,比如单元、集成、系统、公测,每个阶段需要什么技术,有什么要求
5.问:描述测试用例设计的完整过程
答:需求分析+需求变更的维护工作
根据需求得出测试需求
设计测试方案,评审测试方案
方案评审通过后,设计测试用例,再对测试用例进行评审
补充:关于测试用例设计过程还有没有什么补充?
6.问:单元测试的策略有哪些?
答:逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
补充:虽然是单元测试的内容,但是还是大概了解一下
7.问:你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试…)?
答:Compatibility Testing(兼容性测试),也称“Configuration testing(配置测试)”,测试软件是否和系统的其它与之交互的元素之间兼容,如:浏览器、操作系统、硬件等。验证测试对象在不同的软件和硬件配置中的运行情况。
Functional testing (功能测试),也称为behavioral testing(行为测试),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。
Performance testing(性能测试),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型。
补充:测试类型可以分为哪些?其中是否有需要补充的地方
8.问:软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
答:5C标准
补充:什么是5C标准?答案不全,需要补充
9.问:Beta测试与Alpha测试有什么区别?
答:Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场
Alpha testing (α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试
补充:虽然知道,不会说,晚上和舍友模拟一下面试。这一块的知识点也补充补充
10.问:软件的评审一般由哪些人参加?其目的是什么?
答:在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。
人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段
补充:回答的比较乱,还需要调整改善。具体需要再了解了解
2018.8.13
1.问:测试活动中,如果发现需求文档不完善或者不准确,怎么处理?
测试需求分析 发现需求文档不完善或者不准确,应该立即和相关人员进行协调交流。
补充:一个公司里,一般是谁负责需求文档,一般情况下,应该像谁汇报
2.问:阶段评审与项目评审有什么区别?
阶段评审 对项目各阶段评审:对阶段成果和工作
项目评审 对项目总体评审:对工作和产品
补充:阶段评审和项目评审一般都是评审啥
3.问:阐述工作版本的定义?
构造号: BUILD
补充:没听说过,需要了解
4.问:什么是桩模块?什么是驱动模块?
桩模块:被测模块调用模块
驱动模块 调用被测模块
补充:没咋了解过,需要补充
5.问:什么是扇入?什么是扇出?
扇入:被调次数,扇出:调其它模块数目
补充:也没有了解过,需要补充
6.问:你认为做好测试计划工作的关键是什么?
软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试;
做好测试计划工作的关键 :目的,管理,规范
明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
2.坚持“5W”规则,明确内容与过程
“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3.采用评审和更新机制,保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
补充:进行反思,是不是做好这些就够了
7.问:你认为做好测试用例工作的关键是什么?
需求和设计文档的理解程度,对系统的熟悉程度
补充:进行反思,是不是做好这些就够了
8.问:简述一下缺陷的生命周期?
提交commit->确认confirm->分配->修复->验证->关闭
补充:这是不是最完整的
9.问:软件的安全性应从哪几个方面去测试?
参考答案:
(1) 用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议
(2) 加密机制
(3) 安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
(4) 数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理
(5) 防病毒系统
补充:对安全性测试不太了解,需要翻书找找
10.问:软件配置管理工作开展的情况和认识?
软件配置管理贯穿于软件开发、测试活动的始终,覆盖了开发、测试活动的各个环节,它的重要作用之一就是要全面的管理保存各个配置项,监控各配置项的状态,并向项目经理及相关的人员报告,从而实现对软件过程的控制。
软件测试配置管理包括4个最基本的活动:
配置项标识
配置项控制
配置项状态报告
配置审计
软件配置管理通常借助工具来辅助,主要有MS SourceSafe、Rational ClearCase等