1、什么是软件测试?2’
【要点】
在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档、数据以及程序进行测试。
【详解】
软件测试就是在软件投入运行前对软件需求分析、软件设计规格说明书和软件编码进行查错(包括代码执行活动与人工活动)。也可以说,软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部构造而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误,这是在软件投入前,对软件需求分析、软件设计规格说明书和软件编码的最终复审,是软件质量保障的关键步骤。
1、 软件测试与软件质量保证的区别。10’
【要点】
软件测试只是质量保证工作中的一个环节,软件质量保证与软件测试是软件质量工程的两个不同层面的工作;
质量保证:通过预防、检查与改进来保证软件质量,采用全面质量管理和过程改进的原理来开展质量保证工作,主要关注软件质量的检查与测试,主要着眼于软件开发活动的过程、步骤和产物。
软件测试:通过执行软件来,对过程中的产物(开发文档和程序)进行走查,发现问题,报告质量
【详解】
软件测试和软件质量保证是软件质量工程中的两个不同层面的工作。软件测试只是软件质量保证工作中的一个重要环节。
质量保证(QA)的工作是通过预防、检查与改进来保证软件的质量。QA采用的方法重要是按“全面质量管理”和“过程改进”的原来开展质量保证工作。虽然在软件质量保证的活动中也有一些测试活动,但它所以关注的是软件质量的检查和测量。它的主要工作是对软件生命周期的管理,以及检验软件是否满足规定的质量和用户的需求,因此重要是着眼于软件开发活动中的过程,步骤和产物,而不是软件进行剖析,找出问题或者评估。
软件测试虽然与开发过程紧密相关,但它所关心的不是过程的活动,而是对过程的产物,以及开发出的软件进行剖析。测试人员要对过程的产物(开发文档和源代码)进行走读,运行软件。以找到问题和报告质量。测试人员必须假设软件存在潜在的问题,测试中所做的操作就是为了找出更多的问题,而不是为了验证(事实上也不可能)软件的正确性。所以软件测试虽然对提高软件的质量起着关键的作用,但它只是软件质量保证的一个重要环节。
3、请描述如何划分缺陷与错误严重性和优先级别?10’
给软件缺陷与错误划分严重性和优先级的通用原则:
(1) 表示软件缺陷所造成饿危害和恶劣程度。
(2) 优先级表示修复缺陷的重要程度和次序。
严重性:(1)、严重:系统崩溃、数据丢失、数据毁坏(2)、较严重:操作性错误、结果错误、遗漏功能(3)、一般:小问题、错别字、UI布局、罕见故障(4)、建议:不影响使用的瑕疵或更好的实现。
优先级:(1)、最高优先级:立即修复,停止进一步测试。(2)、次高优先级:在产品发布之前必须修复。(3)、中等优先级:如果时间允许应该修复。(4)、最低优先级:可能会修复,但是也可能发布。
4、BUG信息应该包含那些内容。5’
测试软件名称、测试版本号、测试人名称、测试事件、测试软件和硬件配置环境、
发现软件错误的类型、错误的严重程度、详细步骤、必要的附图、测试注释。
5、 测试用例说明应该包含哪些内容?10’
(1) 定义(ANSI/IEEE829):编写用于输入的实际数据和预期结果,并明确指出使用具体测试用例产生的测试程序的任何限制
(2) 包含的内容
l 标识符:由测试设计过程说明和测试程序说明引用的唯一标识符
l 测试项:描述被测试的详细特性、代码模块等
l 输入说明:列举执行测试用例的所有输入内容或者条件
l 输出说明:描述进行测试用例预期的结果
l 环境要求:执行测试用例的软件、硬件、测试工具及人员等要求
l 特殊要求:描述执行测试用例的特殊要求
l 用例之间的依赖性:注明与其分用例的依赖关系或受其他用例的影响
测试用例计划包含4个目标即:组织性、重复性、跟踪和测试证实。
6、WEB应用软件测试必须进行以下不同类型的测试,包括:功能测试、性能测试、可用性测试、兼容测试、安全测试等。15’
(1)、功能测试主要是用来测试WEB应用软件是否履行了预期的功能,确保每一个功能与需求说明一致。根据测试对象的不同,可分为:链接测试、表单测试、COOKIES测试、设计语言测试、数据库测试。
(2)、性能测试主要是确保WEB应用系统达到要求的性能,一般用最大的运行时间、吞吐率、相应时间描述。
性能测试又分为:链接速度测试、负载测试和压力测试,
负载测试是为了测量WEB系统在某一负载级别上的性能,以保证WEB系统在需求范围内能正常工作。负载级别可以是某个时刻同时访问WEB系统的用户数量,也可以是在线数据处理的数量。
压力测试是指实际破坏一个WEB应用系统时测试系统的反映,压力测试是测试系统的限制和故障恢复能力,也就是测试WEB应用系统会不会崩溃,在什么情况下会崩溃,压力测试的区域包括表单、登录、和其他信息传输页面等。压力测试侧重于确定系统崩溃时的用户负载量。
(3)、可用性测试:导航测试、图形测试、内容测试、整体界面测试。
(4)、兼容性测试:确定WEB应用软件在不同软件、硬件和网络配置下运行情况,它主要是用来测试在不同浏览器中是否都可以正确地显示WEB应用程序的页面内容,从而保证页面中的某些代码,比如:JavaScript ,ActiveX 、CSS等在不同平台配置上都能具有正确性。
重点:
如果对你有帮助的话,点个赞收个藏,给作者一个鼓励,也方便你下次能够快速查找,感谢。
如果你想获取该文章配套的视频视频教程以及练手的接口。请狠狠点击下方链接,
并把所需的资料的文章链接发给我即可领取
如果你想获取简历模板+面试技术宝典+求职视频+上千份测试真题,也请狠狠点击下方链接,
并把所需的资料的文章链接发给我即可领取
领取方式:【软件测试】到【测试开发】全测试职业生涯资料大礼包
(5)、安全测试。
7、网络应用测试的主要内容是什么?10’
网络应用系统包含:网络应用软件、工作站桌面软件和客户/服务器数据库。
网络应用测试重点考察:多用户并发访问性能、应用系统响应时间、应用系统对网络
资源的占用情况、与网络相关的应用功能特性、应用系统在网络环境下的稳定性。
(1) 特性测试:特性测试核实的是单个命令和应用程序功能,通常用较小的负载完成,关注的是用户界面、应用程序的操作,以及用户与计算机之间的互操作。
(2) 功能测试:要求网络配置和负载非常接近于运行环境下的模式,关注的是当多个用户使用应用程序时,网络和文件系统或者数据库系统之间的交互情况,核实的是重负载下后台功能能否正确执行。
(3) 应用负载测试。
(4) 应用系统响应时间测试。
(5) 应用系统升级测试。
8、用户文档测试的要点10’
(1)、明确读者群:根据读者群(如初级、中级、高级用户)的不同来检查文档内容,保证用户能够看得懂、能理解(2)、术语:文档中术语的描述要适合定位的读者群,用法一致,标准定义与业界规范相吻合(3)、文档内容的正确性:要保证所有信息是真实正确的(4)、文档内容的完整性:要完全根据提示逐步操作,检查是否存在遗漏的地方(5)、文档与程序的一致性:按照文档操作后,检查软件返回的结果与文档描述是否一致(6)、文档的易用性:检查是否便于用户查找相应的内容(7)、图表与界面截图:检查所有图表与界面截图与发布的程序版本一致(8)、样例和示例:检查所有的样例和示例能够正确完成;(9)、语言:中文文档保证无错别字和二义性(10)、印刷与包装:印刷质量,包装质量
9、在DBMS中,视图不是真正的包含数据,只是把定义存于数据字典中。作用为:10’
(1)、简化用户操作。(2)、使用户能从多角度中看待同一数据。
(3)、对重构数据提供一定程度的逻辑独立性。(4)、能对机密数据提供安全保护。
CREATE VIEW<视图名>[(<列名>[<列名>]……)]
AS
子查询
[With Check Option]
CREATE VIEW IS_Student
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept =’IS’
With Check Option
10、测试人员应该具备的能力和技术。8’
1、基本能力2、沟通能力3、技术能力
测试方法应用、测试用例设计、测试工具使用(测试管理系统、自动化测试工具、负载测试工具)
4、管理能力 5、文档能力
一套比较完整的软件测试人员面试题(包括技术和人力资源方面)
一、你为什么选择软件测试行业
1、薪水待遇高,“钱”景看好2、工作起点高,发展空间大3、职业寿命长,越老越吃香 4、工作更稳定,不用频繁“跳” 5、性别无偏好,没有就业歧视
二、结合你以前的学习和工作经验,你认为如何做好测试。
根据我以前的工作经验,我认为做好工作首先要有一个好的沟通,只有沟通无障碍了,才会有好的协作,才会有跟好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就问,实时与同事沟通这样的话才能做好测试工作。
三、你觉得测试最重要的是什么
尽可能的找出软件的错误
四、怎样看待加班问题
加班的话我没有太多的意见,但是我还是觉得如果能够合理的安排时间的话,不会有太多时候会加班的。
五、如果一个很有个性的程序员认为自己的BUG不是BUG,怎么解决?
首先我要确定我所提的在我认为是不是bug,如果我认为是的话我会在他面前重现这个bug和他讲这是个bug,和他沟通,或者我会找到我的直系领导让他解决。
六、为什么在团队中要有测试
因为软件有错误,如果没有专业的测试人员很难发现软件的一些错误。
七、在测试时代学习自己最大的收获是什么?
在测试时代我除了学习了测试的知识外,还看到了老师们对待测试的一种态度,明白了做任何工作都要有沟通,做测试的也要有很好的沟通才可以做好。知道自己在项目组中的位置,和开发的关系。
八、你对未来的规划
我想在工作中慢慢的积累经验,使自己强大起来,能够担任更重要的职务。
九、自己优势及缺点
我的优点是有足够的耐心对待每一件事情,善于观察事物,承受压力的能力很强。缺点可能就是我不是很爱说话,习惯做不习惯说,但是和人沟通还是没有问题的。
13.请谈谈您对测试工作的理解
我认为测试工作是找出软件产品的错误,
14.你认为测试人员需要具备哪些素质?
我认为做测试的应该要有一定的协调能力,因为测试人员要经常与开发接触处理一些问题,如果处理不好的话会引起一些冲突这样的话工作上就会做不好。还有测试人员要有一定的耐心,有的时候做的测试很枯燥乏味的。除了要有耐心之外还要细心,不放过每一个可能的错误。
15.你为什么能够做测试这一行。
虽然说我的测试技术还不是很纯熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还要有一定的沟通能力,耐心、细心等外在的因素。综合起来看我认为我是胜任这个工作的。
1测试的目的是什么?
测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。
当软件测试是不可能能够找出全部的错误的。
2. 测试分为那几个阶段?
一般来说测试大体分为5个阶段:
单元测试、集成测试、确认测试、系统测试、验收测试
在测试过程中如果有需要还要进行回归测试。
3. 单元测试的测试对象,目的、测试依据、测试方法?
测试对象是模块内部的程序错误;目的是消除局部模块逻辑和功能上的错误和缺陷;
测试依据是模块的详细设计;测试方法采用白盒测试。
4. 集成测试的测试对象,目的、测试依据、测试方法?
集成测试的测试对象是模块间的组装和调用关系;
目的是找出与软件设计相关的程序结构模块调用关系,模块间接口方面问题;
测试依据是概要设计;测试方法采用灰盒测试。
5. 系统测试的测试对象,目的、测试依据、测试方法?
系统测试的测试对象是整个系统;测试的目的是对整个系统进行测试;
测试的依据是需求规格说明书;测试方法黑盒