软件测试题汇总

这篇博客汇总了软件测试中的关键问题及解答,涵盖了测试阶段、测试用例设计方法、软件缺陷记录、数据库操作、测试策略等多个方面。内容包括需求测试、单元测试、集成测试、系统测试和验收测试的阶段与策略,以及如何编写高效缺陷报告。此外,还讨论了测试用例设计方法如等价类划分、边界值法等,以及如何进行数据库查询和添加记录。博客还涉及了测试流程、不同类型的测试对比、自动化测试工具和性能测试的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

☆☆☆软件测试分为几个阶段,各个阶段的测试策略和要求是什么?

解答:分为 个阶段,需求测试阶段,单元测试阶段,集成测试阶段,系统测试阶段,验收测试阶段;

需求测试阶段:测试需求设计文档是否合理,是否满足用户的使用习惯;

单元测试阶段:最终目的

集成测试阶段:

系统测试阶段:

验收测试阶段:怎么样才算完成验收测试?

延伸问题:怎么样才算完成产品的整个测试?


☆☆☆目前主要的测试用例设计方法是什么?

解答:等价类划分法,边界值法,因果图/判定表法,正交表分析法,场景法,错误分析法等。


☆☆☆在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高效的软件缺陷(Bug)记录?

解答:缺陷报告包括缺陷标题,缺陷编号,缺陷所在版本,缺陷所在模块,缺陷对应的开发者,缺陷优先级,缺陷严重程度,缺陷描述,缺陷截图

☆☆☆下图是输入法的键盘,请至少找出3个错误并简述。


①搜索出来的最后一个字‘怕’不符合搜索要求‘ba’;

②字母‘O’上标注数字‘9’和其他数字不在一行;

③字母键盘有两个‘M’字母,缺少一个‘W’字母,根据键盘排列习惯应该把左上第二位‘M’更改为‘W’字母;

④字母‘K’上缺少一个左半个圆括号‘(’;

⑤最下排‘中/英’文切换键显示状态与键盘显示内容不一致;

延伸问题:如何测试‘中/英’文切换键?要考虑中英文切换之间大小写的情况


⑥最下排第一个‘符’号键,第三个符号键和第五个符号键功能一样,可以合并为一个按键;

⑦键盘显示字母应该是小写状态,原因是当前大小写状态键‘⇧’显示为‘小写状态’,且当前输入的是中文;

⑧键盘中缺少‘删除’键;

⑨‘启用听写’键和‘空格’键应该拆分为两个按键;

⑩倒数第二排的最后一个‘enter’键,和‘确认’键功能一样,可以合并为一个按键;

。。。。。。。。。。。暂时看出这么多不合理的地方,虚心请教。。。。。。。。。。。。

☆☆☆在数据库的城市表(city表)中,按城市热度(hot)由高到低显示美国国家(country)下的所有城市。

select * from city

where country='America'

order by hot desc;

延伸问题:如何向数据库添加一条新的记录?add


☆☆☆请根据以下需求文档和设计图的内容,编写测试用例。


思考:说一下设计思路?

☆☆☆延伸问题:比如测试淘宝加入购物车,购物车商品在进行购买,怎么测试?提示:比如购买37码灰色小熊的袜子,加入购物车之前应该检查库存,检查是否有符合的样式和尺码,满足需求点击加入购物车,进入购物车页面,检查购物车的商品规格是否是自己添加到购物车的商品(规格,样式等)


☆☆☆你认为web和移动端测试有哪些区别?


☆☆☆Bug定位,比如如何判断问题是前台页面还是后台服务器的问题?


☆☆☆给一个命题设计测试用例,如登录界面,电梯,一张白纸等。


☆☆☆工作中印象较深的bug,什么原因造成的?


☆☆☆什么是软件缺陷?

1.软件未达到产品说明书指明的功能;

2.软件出现了产品说明书指明不会出现的错误;

3.软件功能超出产品说明书指明的范围;

4.软件未达到产品说明书虽未指出但应该达到的目标;

5.软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好。

☆☆☆测试的V/W模型图?软件测试模型(VW)要表达的是测试阶段和开发阶段的对应关系。

V模型:

优点:开发和测试阶段划分明确,对应关系明确;

   体现测试阶段既包含单元测试(代码,专业级)又包含验收测试(用户级)。

缺点:没表达出文档测试阶段的测试工作,容易理解为项目或软件完成后的收尾工作。

W模型:

优点:第一个v是开发的完整过程;第二个v是测试的完整过程。

   在测试过程中增加了文档测试的内容。

☆☆☆比较黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系?

黑盒测试:又称为功能测试(或者数据驱动测试)。是不考虑程序内部结构特征,只关注输入输出的情况下进行的功能测试。

白盒测试:又称为结构测试(或者基于程序的测试)。考虑程序内部结构,而不考虑程序功能的测试。

单元测试【unit testing】:又称为模块测试。是指对软件中的最小可测试单元进行检查和验证。(这个单元,可以是C语言中的一个函数,可以是C++/Java里的一个类,也可以是图形化软件中的一个窗口或一个菜单等)。总体来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

单元测试要求测试人员编写桩模块和驱动模块。实际工作中为了节约成本,一般由程序员自己来完成,不严格,不能保证质量。

桩模块:模拟被测模块的下一级模块(被 被测模块调用的那个模块)。

驱动模块:模拟被测模块的上一级模块(调用被测模块的那个模块)。

集成测试:又称组装测试(难点是冒烟测试。在逐渐组装完成的过程中,会形成很多临时版本,所以需要先进行冒烟测试)。

集成测试主要是以黑盒测试为主,核心模块适当采用白盒测试。通常是在单元测试的基础上进行,是把软件的功能模块逐步合并在一起测试的过程。

系统测试:是对集成了硬件、软件的完整系统进行的测试。重点在于模拟真实的系统环境下整个系统的正确运行,以及系统的兼容性。该阶段全部是黑盒测试。注意:一般在系统测试之前,会安排“确认测试”,主要确认:该系统是否可以进入全面的“系统测试”阶段;确认相关文档是否齐全(尤其是给用户的文档和准备验收的文档要做文档测试,还有一些参与认证的文档也要做文档测试)。

确认测试一般时间较短,参与人员较少,所以一般不把它和单元测试、集成测试、系统测试所并列。

验收测试【UAT:User acceptance Testing】:又称用户接受度测试。该阶段由用户参与检查过程。

可以分成两个小阶段:

α测试(Alpha):在软件公司的环境下,由用户或者第三方测试机构对软件进行检查。(也经常会由软件公司替代用户进行)。

β测试(Bata):在用户实际环境中进行,由最终用户对软件进行检查。一般会把软件做成一个免费版的发放给最终用户,通过用户使用收集问题(bug)——公测版本。

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

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

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

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

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

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

☆☆☆什么是性能测试?

性能测试是根据需求,制定性能测试计划,搭建性能测试环境,使用测试工具比如LoadRunner执行计划(三大组件),并编写性能测试报告。

关键词:需求、计划、环境、工具、执行、分析、报告

☆☆☆是否了解性能测试,如果了解。LoadRunner分哪三部分?

LoadRunner分为:

1)虚拟用户脚本生成器VuGen(Visual User Generator):功能是录制、编辑、调试,增强性能测试脚本。

2)压力调度控制器(Controller):功能是设置、运行和监控场景Scenario,获取测试结果数据。

3)压力结果分析器(Analysis):功能是把收集到的测试数据以各种图标形式展示,便于分析性能情况,得出测试结果报告。

延伸:LoadRunner工作原理:录制--回放 的工作方式。

1)录制时,VuGen根据相关协议、业务流程录制生成脚本,代表自动化执行的业务流程。

2)回放时,使用工具模拟真实客户端向服务器发请求。 

☆☆☆什么是并发?在LoadRunner中,如何进行并发的测试?

并发:多用户在几乎同一时刻执行某一业务操作,形成一种严格的并发访问(LR精确到毫秒级别)。多任务抢占少量资源“一起运行”。

并发测试(ConcurrencyTesting)的三要素:

1)Action脚本中要添加事务;

2)事务开始之前要加集合点(并发点);

3)控制台场景中要设置并发策略。

☆☆☆什么是压力测试(强度测试)?

答案:压力测试是一种破坏性测试,它故意让软件在比较少的资源环境下运行,如低内存、小硬盘、慢CPU上运行、考验程序直至程序无法运行,从而发现软件缺陷。

☆☆☆☆☆你以前工作时的测试流程是什么(灵活回答)



☆☆☆☆☆测试中各种文档或表(测试计划,测试用例,缺陷报告,测试报告)包含的字段都有哪些?你认为哪些字段比较重要?


☆☆☆☆☆你比较熟悉哪种自动化测试工具?用的什么语言?

☆☆☆☆☆QTPAction有什么作用?有几种?

☆☆☆☆☆QTP中定义变量的语句?

☆☆☆☆☆Selenium

☆☆☆☆☆自动化测试的软件是C/S框架还是B/S框架,介绍一下自动化测试中你担任的工作。

☆☆☆测试覆盖的类型(属于白盒测试)


☆☆☆☆☆你认为作为一个软件测试工程师应该具备哪些技能和素质?

答:(仅个人看法)作为一名软件测试工程师应具备计算机专业方面综合能力,如计算机专业技能,软件测试专业技能,软件编程技能等;

素质:应具备良好的沟通能力,协调能力;勇于承担责任,做事稳重;要有怀疑和破坏精神;善于自我总结,自我督促,有进取心,在工作中不断追求上进,有求知欲,不断更新自己的思想和认知。

☆☆☆☆☆Linux当前目录下的文件myfile的权限由-rw-rw-rw-修改为-rwxr--r--

答:chmod u+x,g-w,o-w myfile

☆☆☆☆☆Linux试题:如何修改目录默认权限,比如修改目录默认权限为754

答:chmod 754 dir(目录名)

解读:改变文件/目录的权限:chmod    规则    文件/目录名

规则:

            角色:u(自己)        g(同组)        o(其他)        a(所有人)

            操作: +(增加权限)        -(去除权限)

            权限: r(可读)        w(可写)        x(可执行)

简易规则:数字表达法

            644        rw-    r--    r--

            755        rwx    r-x    r-x

            777        rwx    rwx    rwx

            744        rwx    r--    r-- 

☆☆☆☆☆Linux试题:压缩/解压命令

答:tar

解读:tar

                -c: 建立压缩档案
                -x:解压
                -t:查看内容
                -r:向压缩归档文件末尾追加文件

                -u:更新原压缩包中的文件

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程

-O:将文件解开到标准输出

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。【参数-f是必须的】

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg

tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip


总结:

        1、*.tar 用 tar -xvf 解压

        2、*.gz 用 gzip -d或者gunzip 解压

        3、*.tar.gz和*.tgz 用 tar -xzf 解压

        4、*.bz2 用 bzip2 -d或者用bunzip2 解压

        5、*.tar.bz2用tar -xjf 解压

        6、*.Z 用 uncompress 解压

        7、*.tar.Z 用tar -xZf 解压

        8、*.rar 用 unrar e解压

        9、*.zip 用 unzip 解压


☆☆☆☆☆有三根蚊香,三根蚊香的长短都一样,每根蚊香燃烧完都是一个小时通过燃烧如何确定15分钟,30分钟,45分钟?

答:假设三根蚊香分别为a,b,c,把蚊香a从两端点燃(开始计时),另蚊香b从一端点燃,确保a,b同时点燃,这样蚊香a烧完时正好用时30分钟,此时点燃蚊香b的另一端,同时点燃蚊香c的两端(再次计时),观察蚊香b烧完正好用时15分钟,等蚊香c烧完正好是45分钟。【其实本题只需要两根蚊香即可确定15min,30min,45min】

一只小猴子边上有100香蕉,它要走过50米才能到家,每次它最多搬50根香蕉,(多了就被压死了),它每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里?

答:猴子先搬50根,走17米,再回来搬50根走完17米处,回来后再搬剩下的49根走完33米,最后搬到家剩16根。

数据库如下,写出对应的SQL:

em_info(eid,ename,work_age)员工表

(eid:员工id,主键;ename:员工姓名;work_age:工龄)

company(cid,cname,status)公司表

(cid:公司id,主键;cname:公司名称;status:0-审核中;1-审核通过;2-审核驳回;3-未审核)

em_basic(eid,cid,phone)员工关系表

(eid:员工id;cid:公司id;phone:手机号)

1.查询公司状态为“审核通过”的且公司中员工平均工龄大于3的公司的个数?

第一种:count()函数就是统计条数的函数,里面用什么变量都可以,可以是*可以是cname可以是1等。

select count(1) from company c, em_info e, em_basic eb

where c.cid = eb.cid and e.eid = eb.eid

and c.status = '1'

group by c.cid having avg(a.work_age) > 3;

第二种:

select count(cname) from em_info a

left join em_basic b on a.eid = b.eid

left join company c on c.cid = b.cid

where c.status = '1'

group by c.cid having avg(a.work_age) > 3;

软件测试的定义 软件测试的目标 软件测试的原则 软件测试中验证和确认的区别 软件测试按照测试的基本策略可分为哪两种并加以详细说明 整个软件生命周期中,需要进行哪几项测试 系统测试的策略有哪些 文档测试主要包括哪些内容 停止测试的条件 测试的基本文档包括哪些 简要的说明一下软件工程中的V模型 为什么要开展测试工作 测试团队在项目中的基本责任是什么 软件缺陷的定义是什么 软件错误的分类有哪些 一个优秀的测试工程师需要具备的素质有哪些 软件质量的定义是什么 质量有哪6个特性 CMMI的中文名称是什么,共分为几级 缺陷报告的定义是什么 缺陷的来源有哪些 缺陷主要有哪些状态 软件缺陷报告有哪些属性 书缺陷报告的基本原则(5C原则)是什么 一般情况下,缺陷报告的织结包括哪些内容 缺陷报告需要注意的问有哪些 一般缺陷严重等级如何划分,并描述每个严重等级对应的错误内容 缺陷优先级常用的划分方法是什么 列出一些控件的名称 测试用例的定义 测试用例设计的步骤 测试用例设计的基本思想是什么 测试用例执行的步骤有哪些 黑盒测试用例设计有哪些方法 按照覆盖度由低到高出白盒测试用例设计的方法 出全球化、国际化和本地化的简称和它们之间的关系 国际化测试的特殊需求有哪些 本地化测试的基本内容是什么 一套完整的测试应该由哪些阶段成 如何理解压力、负载、性能测试 所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗 软件测试人员就是QA吗 如何编提交给客户的测试报告 当开发人员说不是bug时,你该如何应付
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值