概要设计、详细设计以及测试方案中测试的覆盖率细分出测试子项,最后按照测试子项、根据测试用例的设计方法(因果图、边界值、等价类等的设计方法)书写测试用例。 58.你对测试最大的兴趣在哪里?为什么?
最大的兴趣就是测试有难度,有挑战性!做测试越久越能感觉到做好测试有多难。 59.你以前工作时的测试流程是什么?
软件测试的测试流程有1.进行需求评审2.制定测试计划和方案3.编写测试用例 4.执行测试用例5.发现并提交缺陷6.开发组修正BUG7.对已修正BUG进行回归测试 8.对正确修复完成的缺陷将状态置为已关闭,未正确修正的BUG重新激活
60.当开发人员说不是BUG时,你如何应付?
(1)要尽可能避免这种情况的发生,此类情况多发生在新员工身上,由于技术和业务掌握不是很扎实,导致提交一些无效的缺陷,这时可以增加测试内部的评审的环节来解决,就是提交新缺陷后,由测试经理或资深人员进行审核,确认无误后可以打开缺陷,提交给开发修改,否则置为无效。
(2)尽量沟通协调,听听对方的理由,如果开发理由充分,放弃此缺陷。
(3)如果认为开发理由不充分,确实需要修复,就要举出反例来证明该缺陷是有道理的。 (4)咨询其他自身的测试同事,看是否有过类似问题,可以请教一下。
(5)实在是无法协调的,可以直接提交缺陷报告,改或不改完全由开发决定,起码保证客户反馈类似问题的时候,责任不在测试这里。 61. 软件测试的目的是什么?
测试的目的是发现软件中尽可能多的缺陷,并不是说明软件没有缺陷。测试的目标在于揭示软件中的错误,
站在用户的角度,最严重的错误在于导致程序无法满足于需求的错误。 62.需求评审的目的是什么?为什么要进行需求评审?
软件缺陷的最大来源是软件需求规格说明,软件测试的任务在于发现软件程序中的错误,尽可能的保证软
件的优良品质。软件需求规格说明不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。
63.测试方案应该怎么写?测试方案和计划有什么区别?
测试方案:包括测试目标、测试内容、测试使用的方法(黑盒,白盒,自动化等)、时间人员进度安排。 测试计划:是指描述了要进行的测试活动的范围、方法、资源和进度的文档,它主要包括了测试项、被测
特性、测试任务、由谁执行任务和风险控制等。
测试方案:描述需要测试的特性、测试的方法、测试环境的规划、测试工具的设计和选择、测试用例的设
计方法、测试代码的设计方案。
64.你认为写测试计划最重要的是什么?安排不合理怎么办?
1.确定测试目标,增强测试计划的实用性,测试计划中的测试范围需要高度覆盖功能需求,测试方法必须
要切实可行,测试工具要具有较高的实用性,便于使用,生成的测试结果直观准确。
2.安排不合理会对整个小组的工作造成很大的麻烦,在具体测试工作中要随机应变,要随时关注工作的进
度,以便于调整测试计划,加快目标的完成。
65.用例优先级有什么作用?
用例优先级:意味着用例测试的先后顺序,也决定了用例测试的重要性。 66.缺陷分析有哪些指标?
缺陷严重程度、复现率、优先级三个指标。
67.缺陷报告能否代替测试报告?测试报告除了缺陷分析还包括了什么?
缺陷报告不能代替测试报告。测试报告除了分析还包括测试用例分析、遗留问题清单、评估结果、改进建
议等。
68.若现在给你一个项目,你打算怎么测?
首先要对需求进行评审,分析需求点。其次,编写测试计划,包括人员、软硬件资源和进度安排等。然后
完成测试方案,对测试用例进行设计,运行软件,执行测试,得出实际结果,及时提交有质的bug报告,最后进行缺陷分析,完成测试报告。
69.在项目中你最大的收获是什么?你觉得最困难的部分是什么?你是怎么解决的?
我觉得最大的收获是经经历了软件测试的整个环节,熟悉了软件测试的整体流程,和组员一起友好的合作,
最困难的部分是最测试计划的制定和测试用例的编写,通过不断的联系,慢慢的摸索,和组员一起讨论,不断地发现问题。
70.什么是确认测试?
确认测试:又称为有效测试,有效性测试是在模拟的环境下,运用黑盒测试的方法,验证被测软件是否满足
需求规格说明书列出的需求,任务是验证软件的功能及其他特性是否与用户的要求一致,对软件的功能和性能要求在软件需求规格说明书中已经明确规定,它包含的信息就是软件确认测试的基础。
71.什么是V模型?V模型中包含哪些阶段?具体是什么?
1.V模型:是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件开发的V模型.
它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
2. V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测
试、集成测试、系统测试、验收测试。
需求分析: 即首先要明确客户需要的是什么,需要软件作成什么样子,需要有那几项功能,这一点上比较
关键的是分析师和客户沟通时的理解能力与交互性。要求分析师能准确的把客户所需要达到的功能,实现方式,等表述出来,给出分析结果,写出需求规格说明书。
概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口链接和数据传递的实现等项事物。 详细设计:对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要求达到伪代
码级别,已经把程序的具体实现的功能,现象等描述出来,其中需要包含数据库设计说明。
软件编码:按照详细设计好的模块功能表,编程人员编写出实际的代码。
单元测试:按照设定好的最小测试单元进行按单元测试,主要是测试程序代码,为的是确保各单元模块被
正确的编译,单元的具体划分按不同的单位与不同的软件有不同,比如有具体到模块的测试,也有具体到类,函数的测试等。
集成测试:经过了单元测试后,将各单元组合成完整的体系,主要测试各模块间组合后的功能实现情况,
以及模块接口连接的成功与否,数据传递的正确性等,其主要目的是检查软件单位之间的接口是否正确。根据集成测试计划,一边将模块或其他软件单位组合成系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。
系统测试:经过了单元测试和集成测试以后,我们要把软件系统搭建起来,按照软件规格说明书中所要求,
测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞,等。
验收测试:主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来
做相应测试,以确定软件达到符合效果的。
72.什么是测试过程?具体是怎样?
1、测试需求:就是根据用户需求来评定测试员需要测试的内容,因为并不是说所有的东西都是可测的,对
于某些软件,有些部分是无法测试的,这就需要测试员来评估,哪些可测哪些不可测。 2、测试计划:根据测试需求来制定测试计划,即时间安排,人员安排以及硬件安排等。 3、测试用例设计:设计测试用例,用以指导测试并可直观看出你测试的覆盖率; 4、测试环境搭建; 5、用例执行; 6、提交BUG; 7、回归BUG;
8、测试总结:即完成一轮测试后,需要根据BUG分布来分析软件薄弱点在何处,以方便后续测试计划的制定;
73.什么是测试策略?
测试策略:描述了测试工作的总体方法和目标,描述目前在进行哪一阶段的测试(单元测试、集成测试、系统测试)以及每个阶段内在进行的测试种类的概要性文档。
74.软件生命周期和软件测试生命周期的区别是什么?
软件生命周期:是指从软件的产生直到报废的整个周期,包括可行性分析与项目计划,需求分析,概要设
计和详细设计,编码,调试,维护七个阶段。
软件测试生命周期:是指从测试项目计划建立到BUG提交的整个测试过程,包括软件项目测试计划,测试需求分析,测试用例设计,测试用例执行,BUG提交五个阶段。 75.缺陷描述包括哪些内容?
1.缺陷ID 2.缺陷状态(新建、待解决、已解决、已修复) 3.缺陷标题 4.缺陷描述5.严重程度(致命、
严重、一般、细微) 6.优先级(1~4个等级,1为最高) 7.缺陷提交人 8.提交时间 9.缺陷所属项目/模块 10.指定解决时间 11.附件 76.缺陷跟踪的目的是什么?状态是什么?
目的:管理缺陷,随时随地跟踪缺陷所处的位置,并进行缺陷分析。
状态:New(新建缺陷)–open(打开缺陷)–fixed(已修复)–reopen(重新打开)–closed(关闭 实现跟踪需要支撑的工具:QC 77.黑、白、灰盒测试的区别是什么?
黑盒测试:代码不可见,不考虑系统内部结构的功能或非功能测试,主要用于系统测试阶段,测试方法包
括:功能测试、易用性测试、兼容性测试等。
白盒测试:基于对组件或系统的内部结构的分析而进行测试,主要用于单元测试阶段,常使用逻辑覆盖率
进行测试设计。
灰盒测试:介于黑盒与白盒之间的一种测试,主要应用于集成测试阶段,常使用于接口测试。 78.测试计划和测试策略都包括了哪些内容?
测试计划:包括测试对象、工作任务安排、风险评估、成功与失败的标准等。
测试策略:包括依据《测试计划》进行用例的设计和分析、如何设计测试数据、如何搭建测试环境等。 79.最常见的测试方法和设计用例有哪些?
测试方法:黑盒、白盒、灰盒、静态、动态、人工、自动化等。 用例设计:等价类、边界值、判定表、正交实验、流程分析、状态迁移。 80.单元测试和白盒测试的区别? 1.单元测试:指的是测试的某个阶段。 2.白盒测试:指的是一种测试方法。
3.他们之间的关系:在单元测试阶段,使用白盒测试方法。 81.测试用例的组成字段有哪些?
1.用例的主要字段包括:用例标题、步骤名称、步骤描述、预期结果、实际结果。
2.其他辅助字段包括:用例编号、编写人、预置条件、优先级、对应版本、执行状态、覆盖需求等。 82.缺陷报告的组成字段有哪些?
1.主要字段:标题、描述、状态、严重程度、优先级。
2.其他字段:时间(提交、修改、回归、关闭)、版本(提交、修改、关闭)、人员(提交人、分配人)缺
陷产生原因、附件等。
83.如果需求出现变更怎么办?
维护需求跟踪关系,如需求和用例的跟踪覆盖关系(QC中可以实现),一旦有需求发生变更,可以确定
需求变更对用例的影响范围。每次需求变更并评审通过后,要进行基线化控制,保证相
关人员使用的同一个版本的需求。
84.发现不可重现的缺陷怎么办?
1.检查是否按照用例去执行的,还是在无意中发现的,尽量去重现或找到规律。 2.检查测试的环境,包括操作系统、测试数据等一切可能会引起缺陷的原因。 3.在提交缺陷报告的时候尽可能添加附件。 85.验证测试和确认测试的区别?
1.确认测试:做没做,如软件的功能是否被开发实现了。
2.验证测试:做的对不对,如开发出来的功能需要验证是否正确。 86.测试结束的标准有哪些? 1.确定没有新的bug产生或反弹。
2.确定覆盖率和通过率达标:高需求100%覆盖和通过,低需求30%覆盖和达标。 3.缺陷修复率,如致命缺陷100%修复,轻微缺陷70%修复。 87.针对数据库部分你是怎么测试的?
1.针对被测功能可以通过构造测试数据,上传数据再导出数据,如查询功能测试。
2.分析数据库设计,转换成测试用例如:根据类型测试边界值(char、varchar2、int等)、约束设计(非
空、唯一、主外键)
3.安全性测试:是否存在SQL注入漏洞等。 88.正交实验法的意义和风险?
1.正交实验法主要是解决多个条件组合的测试问题,如果进行全组合那么用例的数量会非常的庞大导致
无法进行测试。
2.其最大的缺点是所需要的试验次数最多,因此耗费的人力、物力和时间也比较多。 89.登录怎么测?
1.功能测试:使用等价类方法分别输入有效、无效值进行测试。
2.易用性:Tab键的切换顺序是否正确,当确定错误提示后,焦点是否自动显示在错误项位置以示提示 3.安全测试:是否存在SQL注入漏洞,是否通过地址栏输入可以绕过登陆页面直接访问里层页面。 WEB部分
90.OSI七层模型有哪些?
应用层–表示层–会话层–传输层–网络层–数据链路层–物理层 91.TCP/IP模型中每层都有哪些主要的协议?
应用层:HTTP(超文本传输协议,主要用于普通的浏览) HTTPS(安全超文本传输协议) FTP(文本传输协议) POP3(收邮件用) SMTP(用来发送电子邮件) TELNET(通过一个终端登录到网络 SSH(用于加密安全登录用) DNS(用于加密安全登录用)
SNMP(用于网络信息的收集和网络管理用) DHCP(动态配置IP地址用)
传输层:TCP(是一种面向连接的、可靠的、基于字节流的传输层通信协议) UDP(是一种简单的面向数据报的传输层协议)
网络层:IP(互联网协议,用于报文交换网络的一种面向数据的协议) ARP(用于动态解析以太网硬件的地址) ICMP(网络控制消息协定)
ICMP(网络控制消息协定)
IGMP(因特网组管理协议,管理多播组成员的一种通信协议) 网络接口层:Wi-Fi(是一个创建于IEEE802.11标准的无线局域网络设备) PPP(点对点协议,通常用在两节点间创建直接的链接) 92.简述三次握手和四次挥手?
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个链接。 第一次:客户端发送一个带SYN标志的TCP报文到服务器
第二次:服务器端同时带ACK标志和SYN标志回应客户端
第三次:客户端再次发送带ACK报文和随机字符给服务器端表示确认收到数据 TCP四次挥手,由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。
第一次:客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送(报文段4)。
第二次:服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN
一样,一个FIN将占用一个序号。
第三次:服务器B关闭与客户端A的连接,发送一个FIN给客户端A(报文段6)。 第四次:客户端A发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7) 93.简述HTTP头域的组成?
HTTP的头域包括通用头、请求头、响应头和实体头四个部分,每一个头域由一个域名,冒号:和域值
三个部分组成。
94.HTTP请求的方式和区别有哪些?
1.HTTP请求的方式主要有Get和Post两种方式。
2.Get请求强调想服务器“要”内容,如要图片、HTML文件等。 Post请求强调把数据“给”服务器,常用于表单中。 95.cookie和session的区别是什么?
Cookie:用于交互时存放在客户端,即使用你临时文件夹中不存在cookie,但在你的浏览器进程中会临时
保存你的cookie
Session:是交互时存放在服务端,即使用不保存,也在服务进程中。
数据库
95.SQLserver和oracle数据库的区别?
1.开放性:(1)SQL Server 只能在windows上运行,没有丝毫的开放性,操作系统的系统的稳定对数
据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据库。
(2)Oracle 能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。
2.可伸缩性,并行性:(1)SQL server 并行实施和共存模型并不成熟,很难处理日益增多的用户数和
数据卷,伸缩性有限。
(2)Oracle并行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windowsNT不能满足需要,用户可以把数据库移到UNIX中。Oracle的并行服务器对各种UNIX平台的集群机制都有着相当高的集成度。 3.性能 :(1)SQL Server 多用户时性能不佳
(2)Oracle 性能最高, 保持开放平台下的TPC-D和TPC-C的世界记录。
4.客户端支持及应用模式:(1)SQL Server C/S结构,只支持windows客户,可以用ADO、DAO、OLEDB、ODBC连接。