常见的软件测试面试必备



考官从办公室(面试现场)随意选取一个简单物品

假定是一个喝水的带广告图案的花纸杯,让应聘人对它设计出尽可能多的测试用例。  
 
测试项目:杯子   需求测试:查看杯子使用说明书   
界面测试:查看杯子外观  
 功能度:用水杯装水看漏不漏;水能不能被喝到   


安全性:杯子有没有毒或细菌   
可*性:杯子从不同高度落下的损坏程度   


可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用  
 
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等   


易用性:杯子是否烫手、是否有防滑措施、是否方便饮用   


用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述   


疲劳测试:将杯子盛上水


(案例一)放24小时检查泄漏时间和情况;盛上汽油


(案例二)放24小时检查泄漏时间和情况等   


压力测试:用根针并在针上面不断加重量,看压强多大时会穿透   


跌落测试:?? 杯子加包装(有填充物),在多高的情况摔下不破损   


震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输 
测试数据:   测试数据具体编写此处略(最讨厌写测试数据了)。


其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法   


期望输出:




我现在有个程序,发现在WIN98上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?


1) 首先, 根据被测对象内容和大小的不同, 系统配置的不同, 为快慢设个标准. 


例如:  打开一个web窗口耗时10秒,如果没有标准,网速512kb的人认为很快;但网速2MB的人可能认为很慢; 这就很难衡量打开那个窗口到底是快还是慢, 所以要看系统配置. 


当然也跟被打开窗口的内容和大小有关, 打开纯文字窗口肯定比打开带有很多图片,flash动画等内容的窗口快, 所以要看被测对象的内容和大小.


2) 根据标准来衡量. 参考SRS


3) 系统的软件,硬件配置是否满足程序运行需求。
比如: 程序需要运行在windows98以上, 内存256MB以上, 而那台PC是win98,内存128MB则在软件配置上达到临界点, 硬件配置就存在问题.


4) 该程序是否要调用组件, 或访问数据库等其他软件. 如果需要,则其他相关配置是否满足需求?


5) 是否在运行被测程序时, 很多其他程序也在运行, 超过windows98的负载。
比如: 运行被测程序时, 同时打开50个其他程序, 估计肯定超出OS自己的负载, 看被测程序运行状态; 如果只运行被测试程序, 看被测程序运行状态; 打开多个程序的先后顺序, 看被测试程序运行状态.








1、检查系统是否有中毒的特征;




2、检查软件/硬件的配置是否符合软件的推荐标准;




3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;




4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;




5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。




什么是兼容性测试?兼容性测试侧重哪些方面?


指对所设计程序与硬件、软件之间的兼容性的测试。


测试分类:
一、浏览器兼容测试
二、分辨率兼容
测试
一般来说,兼容性指能同时容纳多个方面,
在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。


兼容性测试是指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操纵系统平台上、不同的网络等环境中是否能够很友好的运行的测试。








兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,
即是通常说的软件的可移植性。




兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。




兼容测试的重点是,对兼容环境的分析。
通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。
根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,
把这些环境整理成表单,就得出做兼容测试的兼容环境了。




兼容和配置测试的区别在于,
做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。














测试策略描述测试工程的总体方法和目标。
描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)
以及每个阶段内在进行的测试种类(功能测试、性能测试、覆盖测试等)。


测试策略的制定主要包含三个方面的内容:


(1)确定测试过程要使用的测试技术和工具;


(2)制定测试启动、停止、完成标准;


(3)进行风险分析和应对方案。
例如测试与外部接口或者模拟物理损坏、安全性威胁。


测试计划最关键的一步就是将软件分解成单元,按照需求编写测试计划。












指导测试过程的纲领性文件,包含了产品概述,测试策略,测试方法,测试区域,测试配置,测试周期,测试资源,风险分析等内容;借助软件测试计划,参与测试的项目成员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试用例间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围,方法和资源配置;
而测试用例是完成测试任务的具体战术。


测试计划中,最重要的是测试策略和测试方法。


测试计划工作的关键是


1. 明确测试的目标,增强测试计划的实用性---
测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,
测试工具具有较高的实用性,便于使用,生成的测试结果直观准确。


2. 坚持“5W”规则,明确内容与过程
“5W”规则指:what,why,when,where,how;
用例5w规则创建软件测试计划,可帮助测试团队理解测试目的(why),
明确测试范围和内容(what),确定测试开始和结束日期(when),
指出测试的方法和工具(what),给出测试文档和软件存放位置(where)
3. 采用评审和更新机制,保证测试计划满足实际需求




软件测试计划的主要内容






1、 测试目标:对测试目标进行简要的描述。 




2、 测试概要:摘要说明所需测试的软件、名词解释、以及提及所参考的相关文档。




3、 测试范围:测试计划所包含的测试软件需测试的范围和优先级,哪些需要重点测试、哪些无需测试或无法测试或推迟测试。 




4、 重点事项:列出需要测试的软件的所有的主要功能和测试重点,这部分应该能和测试案例设计相对应和互相检查。 




5、 质量目标:制定测试软件的产品质量目标和软件测试目标。 




6、 资源需求:进行测试所需要的软硬件、测试工具、必要的技术资源、培训、文档等。 




7、 人员组织:需要多少人进行测试,各自的角色和责任,他们是否需要进行相关的学习和培训,什么时候他们需要开始,并将持续多长时间。
8、 测试策略:制定测试整体策略、所使用的测试技术和方法。




9、 发布提交:在按照测试计划进行测试发布后需要交付的软件产品、测试案例、测试数据及相关文档。 




10、 测试进度和任务人员安排:将测试的计划合理的分配到不同的测试人员,并注意先后顺序.如果开发的Release不确定,可以给出测试的时间段.对于长期大型的测试计划,可以使用里程碑来表示进度的变化。 




11、 测试开始/完成/延迟/继续的标准:制定测试开始和完成的标准;某些时候,测试计划会因某种原因(过多阻塞性的Bug)而导致延迟,问题解决后测试继续。 


12、 风险分析:需要考虑测试计划中可能的风险和解决方法。


测试过程包括五大部分,分别为:单元测试、集成测试、确认测试、系统测试、验收测试。








测试准备-测试计划-测试需求-测试用例-测试执行-测试缺陷管理-测试报告总结


缺陷流程管理:new- open-fix-(reopen)-close








黑盒测试的测试用例设计方法   


· 等价类划分方法   


· 边界值分析方法 


· 错误推测方法   


· 因果图方法    


· 判定表驱动分析方法   


· 正交实验设计方法   


· 功能图分析方法






软件测试流程包括哪些不同的测试方法?




分为五步


第一根据需求分析制定测试计划


第二根据开发人员的详细设计说明书设计测试策略和测试用例


第三开发人员编写好一个小的模块后我们就可以执行测试用例。同时填写缺陷报告


第四对测试作总结


第五验收测试,同时编写用户手册 










测试用例组成元素


(1) 用例ID;


(2) 用例名称;


(3) 测试目的;


(4) 测试级别;


(5) 参考信息;


(6) 测试环境;


(7) 前提条件;


(8) 测试步骤;


(9) 预期结果;


(10) 设计人员。

你可能感兴趣的:(常见的软件测试面试必备)