1、软件的生命周期是什么?指从软件产生到报废整个周期包括:可行性分析、项目计划、需求分析、概设、详设、编码、调试、维护。

  2、软件开发模型有哪些?瀑布模型、渐增模型、演化模型、迭代模型、原型模型、螺旋模型、喷泉模型、智能模型、混合模型。

  3、一套完整的测试包括哪些?测试计划、测试设计、测试开发、测试执行、测试评估。

  4、软件测试生命周期是什么?从测试项目计划建立到bug提交的整个测试过程,包括:软件项目测试计划、测试需求分析、测试用例设计、测试用例执行、bug提交五个阶段。

  5、一个典型B/S架构由哪三个组件构成?数据访问层、业务逻辑层、实体层。

  6、OSI网络七层协议及每一层的功能是什么?OSI网络七层协议从下向上的顺序为:物理层、数据链路层、网络层、传输层、会话层、表示层、和应用层。

  物理层:本层规范了各网络媒体的定义、网络的连接方式等内容。

  数据链路层:本层定义了帧(frame)的格式及通过网络的方式。帧中有MAC地址(网卡的号),帧要传送的来源与目的地是依据MAC进行传送的。该层有个重要的ARP(Address Resolution Protocol)协议,用它来对应MAC和IP地址。

  网络层:IP 是网络层的重要内容。本层的功能是让数据包(Packet)可以在不同的网络间进行传递;这层包括IP协议、ICMP协议、ARP协议、RARP协议。

  传输层:将计算机数据打包为数据包(packet),然后提供给网络层进行包头的建立;这层包括TCP协议、UDP协议。

  会话层:本层中定义的两个地址间的信道的连接与挂断,即计算机与计算机之间的沟通方式。两个计算机在通信前先要进行会话,确认是否可以进行传输。如三次握手协议。

  表示层:将用户本地的数据格式转换为网络的标准格式,然后交给传输层的协议处理。同时把远程的数据转换成本地应用程序的格式,然后将给应用程序处理。即本层定义了数据的语法及格式,当数据不符合要求时进行格式的转换。

  应用层:本层完全与应用程序有关。这层包括FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS。

  7、什么是网络协议?它的三要素是什么?常见的网络协议有哪些?

  网络协议是网络上所有设备(网络服务器、计算机及交换机、路由器、防火墙等)之间通信规则的集合,它规定了通信时信息必须采用的格式和这些格式的意义。

  网络协议的三要素是:语法(用来规定信息格式);语义(用来说明通信双方应当怎么做);时序(详细说明事件的先后顺序)。

  当今局域网中常见的三个协议是:Microsoft的NetBeui、Novell的IPX/SPX、交叉平台的TCP/IP协议。NetBeui即NetBios Enhanced User Interface,是为IBM开发的非路由协议,用于携带Netbios通信.。IPX是Novell用于Netware客户端/服务器的协议群组,避免了NetBeui的弱点,它具有完全的路由能力,可用于大型企业网。TCP/IP即Transmission Control Protocol/Internet Protocol,中文译名为传输控制协议/互联网络协议协议,TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。具有可扩展性和可靠性需求。

  8、关系数据库的三个基本要素是什么?相关数据、一定组织方式、共享。

  9、目前linux操作系统提供一个常用文本编辑器是什么?有几种模式?vi编辑器。有(文本输入)(命令)两种模式。

  10、测试计划的目的是什么?测试计划工作的内容都包括什么?其中哪些是重要的?

  测试的目的是发现程序中有错,是为了证明程序有错,而不是证明程序无错,尽可能发现并改正被测试软件中的错误,提高软件的可靠性。测试能发现错误的测试是成功的测试,否则是失败的测试。

  软件集成测试具体内容包括:

  1)功能性测试

  (1)程序的功能测试。检查各个子功能组合起来能否满足设计所要求的功能。

  (2)一个程序单元或模块的功能是否会对另一个程序单元或模块的功能产生不利影响。

  (3)根据计算精度的要求,单个程序模块的误差积累起来,是否仍能够达到要求的技术指标。

  (4)程序单元或模块之间的接口测试。把各个程序单元或模块连接起来时,数据在通过其接口时是否会出现不一致情况,是否会出现数据丢失。

  (5)全局数据结构的测试。检查各个程序单元或模块所用到的全局变量是否一致、合理。

  (6)对程序中可能有的特殊安全性要求进行测试。

 2)可靠性测试。根据软件需求和设计提出的要求,对软件容错性、易恢复性、错误处理能力进行测试。

  3)易用性测试。根据软件设计中提出的要求,对软件的易理解性、易学性和易操作性进行检查和测试。

  4)性能测试。根据软件需求和设计中提出的要求,进行软件的时间特性、资源特性测试。

  5)维护性测试。根据软件需求和设计中提出的要求,对软件的易修改性进行测试。

  6)可移植性测试。根据软件需求和设计中提出的要求,对软件在不同操作系统环境下被使用的正确性进行测试。

  11、软件测试分为哪几个阶段?每个阶段都是干什么的?

 

测试阶段

主要依据

测试人员及方式

测试内容

单元测试

系统设计文档

开发人员。白盒测试

又叫模块测试。

主要测试软件模块的源代码,接口、路径

集成测试

 

概要设计、需求文档

开发人员。白盒测试

又叫组装测试、联合测试、灰盒测试。

将一些“构件”集成一起时,测试它们能否正常运行,接口、路径、功能、性能

系统测试

需求说明书

一般由独立的测试人员执行。黑盒测试

测试软件系统是否符合所有需求,包括功能性需求和非功能性需求,功能、健壮性、性能、用户界面。

确认测试

规格说明书

第三方。黑盒测试

又叫有效性测试。

验证软件的功能和性能及其他特性是否与用户的要求一致。

验收测试

(UAT)

需求文档

由客户或终用户执行。黑盒测试

确定产品是否能够满足合同或用户所规定需求的测试。

 12、测试中的木桶原理是什么?在软件产品生产方面是全面质量管理(TQM)的概念。产品质量的关键因素是分析、设计和实现,测试应该是融于其中的补充检查手段,其他管理、支持、甚至文化因素也会影响终产品的质量。应该说,测试是提高产品质量的必要条件,也是提高产品质量直接、快捷的手段,但决不是一种根本手段。反过来说,如果将提高产品质量的砝码全部押在测试上,那将是一个恐怖而漫长的灾难。

  13、软件测试策略和方法有哪些?静态测试方法:人工测试方法(代码会审,代码走查,桌面检查等);动态测试方法:白盒测试方法、黑盒测试方法、穷举测试方法。

  静态测试:基本特征是对软件进行分析,检查和测试是不实际运行被测试的软件。

  动态测试:通过运行软来检验软件的动态举行为和运行结果的正确性,其两个基本要素是被测试程序、测试数据。

  14、测试何时结束?当功能性测试用例通过率达到,非功能性测试用例通过率达到90%时,允许正常结束测试。

  15、测试用例需要有些什么?测试环境、测试数据、测试步骤、预期结果。

  16、用例设计原则是什么?覆盖软件需求规格说明书所有的测试点;指出实际输出值和预期结果;考虑各种输入输出条件和边界值;设计应考虑其可执行性。

  17、当在HTML中写JavaScript脚本的时候可能会造成页面性能慢或是有错误,这个怎么解决呢?

  通常,JavaScript脚本写在HTML页面中body部分的前面,这可能要在网页上设置一些可运行脚本之类的配置,或尽可能避免。

  18、在测试工作中,你是怎么和开发人员沟通呢?怎么能达到一致目的呢?

  当发现问题的时候,描述到bug管理器bug free、Test Track Pro等上面,并提供一些截图上载作为证据,或当面和开发人员沟通,尽量把问题描述清楚,这些都不存在问题,但关键是有很多开发人员并不承认这是他程序的错误或认为not a bug,不予修改,当遇到这种情况我会尽可能跟他沟通,尽可能去重现问题,根据需求讲道理,此时根据需求是很重要的,当我们实在沟通不下去的时候,在这种不明确bug性质情况下会发邮件让项目经理大家一起评审,是他的问题改,not a bug打回。

  19、假如项目已完成差不多,但客户的需求不明确,在我们内部也没有定义,这种情况怎么办呢?

  我会把自己当客户,设身处地的为客户提出问题或建议,比如常见的是易用性操作,软件规范等。

  20、你是怎么理解测试的?测试的目的是发现程序中有错,是为了证明程序有错,而不是证明程序无错,尽可能发现并改正被测试软件中的错误,提高软件的可靠性。测试能发现错误的测试是成功的测试,否则是失败的测试。

  21、你对自己做测试是怎么个想法?我想一直做下去会有收获的吧,会去不断完善自己的技能,把自己没学会的技能都去学习下,会不断完善自己。