1、你认为做好测试计划工作的关键是什么?
软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试;
做好测试计划工作的关键 :目的,管理,规范。
2、描述测试用例设计的完整过程?
需求分析 + 需求变更的维护工作;
根据需求 得出测试需求;
设计测试方案,评审测试方案;
方案评审通过后,设计测试用例,再对测试用例进行评审;
3、什么是软件质量保证?软件质量保证人员与开发人员的关系如何?
答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。
软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题
4、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包括哪些?
用户手册、安装和设置指导、联机帮助、指南、向导、样例、示例和模板、授权/注册登记表、最终用户许可协议
5、目前主要的测试用例设计方法是什么?
白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖
黑盒测试:边界值分析法、等价类划分、错误猜测法、因果图法、状态图法、测试大纲法、随机测试、场景法
6、测试的策略有哪些?
黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
7、正交表测试用例设计方法的特点是什么?
用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。
8、性能测试关注的指标是什么?
从外部看,性能测试主要关注如下三个指标:
吞吐量:每秒钟系统能够处理的请求数、任务数
响应时间:服务处理一个请求或一个任务的耗时
错误率:一批请求中结果出错的请求所占比例
从服务器的角度看,性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等。
9、接口测试的步骤大致为?
接口测试可以分为以下几个步骤:需求分析和设计评审,测试框架和技术选型, 测试计划制定,测试环境搭建, 测试用例设计和评审,测试实现和执行,持续集成。
10、什么是安全测试(Security Testing)?
在所有类型的软件测试中,安全测试可以被认为是最重要的。其主要⽬的是在任何软件(Web或基于⽹络)的应⽤程序中找到漏洞,并保护其数据免受可能的攻击或⼊侵者。由于许多应⽤程序包含机密数据,需要被保护泄漏。软件测试需要定期在这样的应⽤程序上进⾏,以识别威胁并⽴即采取⾏动。
简述性能测试的步骤
第一步:需求分析、计划测试.设计测试用例
第二步:测试设计和开发(测试脚本录制及调试,测试场景设计)
第三步:测试执行(测试环境搭建,场景部署,场景执行,监视场景)
第四步:测试结果分析,性能问题定位,测试报告评估
11、简述负载测试与压力测试的区别?
压力测试(Stress Testing)
压力测试的主要任务就是获取系统正确运行的极限,检查系统在瞬间峰值负荷下正确执行的能力。例如,对服务器做压力测试时就可以增加并发操作的用户数量;或者不停地向服务器发送请求;或一次性向服务器发送特别大的数据等。看看服务器保持正常运行所能达到的最大状态。人们通常使用测试工具来完成压力测试,如模拟上万个用户从终端同时登录,这是压力测试中常常使用的方法。
负载测试(Volume Testing)
用于检查系统在使用大量数据的时候正确工作的能力,即检验系统的能力最高能达到什么程度。例如,对于信息检索系统,让它使用频率达到最大;对于多个终端的分时系统,让它所有的终端都开动。在使整个系统的全部资源达到“满负荷”的情形下,测试系统的承受能力。
12、解释如何在JMeter中执行尖峰测试(Spike testing)?
通过同步,可以实现计时器JMeter尖峰测试。同步计时器将阻塞线程,直到阻塞了特定数量的线程,然后将它们全部释放,从而产生了巨大的瞬时负载。
小贴士:尖峰测试 也可以称为冲击测试,反复冲击服务器。指的是在某一瞬间或者多个频次下用户数和压力陡然增加的场景。
13、对于大流量的网站,采用什么样的方法来解决访问量问题?
①确认服务器硬件是否足够支持当前的流量
②优化数据库访问
③禁止外部的盗链
④控制大文件的下载
⑤使用不同主机分流主要流量、集群
⑥使用流量分析统计软件
14、Jmeter常用断言方式有哪些,分别描述出来?
断言:选择响应文本 获取某一个值$.,xx获取值断言 选择响应代码 判断是否200(这两个常用)
json 断言:断言-》json 断言(通过表达式$.xx 获取值即可断言即可)
15、Postman在工作中使用流程是什么样的?
1.新建集合管理
2.根据接口所属的模块,在集合中不同模块下编写接口测试用例
3.处理接口之间的数据关联操作
4.添加环境变量
5.在tests tab下中增加断言
6.调试接口,确保接口能被正常调用
7.批量运行用例或者导出通过Newman去运行生成html报告
16、网上银行转账是怎么测的,设计一下测试用例。
回答思路:
宏观上可以从质量模型(万能公式)来考虑,重点需要测试转账的功能、性能与安全性。设计测试用例可以使用场景法为主,先列出转账的基本流和备选流。然后设计场景,最后根据场景设计数据。实际面试中需要举出具体的例子。
先检查界面。
再测试功能:
验证同行转账,跨行转账。
验证转账限额。
验证非法账户(挂失,冻结,锁定的账户)的转账。
再测试性能方面的。
17、定期存款到期自动转存该怎么测?
回答思路:到期肯定会有边界,所以设计里面可以考虑边界值法。自动转存(首先要搞清楚什么是自动转存。)
存钱该怎么测,用什么测试方法?
准备思路:存钱要分类:活期、零存整取等(具体规则百度下),然后根据每类的业务规则选择合适的用例设计方法。譬如一次最少存入多少?最多一次能存入多少等。
18、在配置测试中,如何判断发现的缺陷是普通问题还是特定的配置问题?
在进行配置测试时,测试工程师仍然会发现一些普通的缺陷,也就是与配置环境无关的缺陷。因此判断新发现的问题,需要在不同的配置中重新执行发现软件缺陷的步骤,如果软件缺陷不出现了,就可能是配置缺陷;如果在所有的配置中都出现,就可能是普通缺陷。
需要注意的是,配置问题可以在一大类配置中出现。例如,拨号程序可能在所有的外置Modem中都存在问题,而内置的Modem不会有任何问题。
19、请简述DNS、活动目录、域的概念。
DNS:域名服务,作用是将网络域名解析成IP地址;
活动目录:微软提供的目录服务的一种,它存储有关网络上的对象信息,并使管理员和用户更方便的查找和使用这类信息;
域:网络系统的一个安全边界,在一个域当中,计算机和用户共享一些列的安全信息。
20、软件配置管理工作开展的情况和认识?
软件配置管理贯穿于软件开发、测试活动的始终,覆盖了开发、测试活动的各个环节,它的重要作用之一就是要全面的管理保存各个配置项,监控各配置项的状态,并向项目经理及相关的人员报告,从而实现对软件过程的控制。
软件测试配置管理包括4个最基本的活动:
配置项标识
配置项控制
配置项状态报告
配置审计
软件配置管理通常借助工具来辅助,主要有MS SourceSafe、Rational ClearCase等
21、请简述自顶向下和自底向上两种集成测试方法,并比较两者的优点和缺点。
自顶向下测试的主要优点在于它可以自然的做到逐步求精,一开始就能让测试者看到系统的框架。它的主要缺点是需要提供桩模块。
自底向上的优点在于不需要桩模块,需用的驱动模块比较少。它的主要缺点在于,直到最后一个模块被加进去之后才能看到整个程序(系统)的框架。