测试笔试题

article/2025/10/8 20:05:30

做了几套题,个别题竟然错了。汗颜。摘录下:

1.有关字节换算的

字节 byte:8个二进制位为一个字节(B),最常用的单位,字节也就是B。

1KB (Kilobyte 千字节)=1024B

1MB (Megabyte 兆字节 简称“兆”)=1024KBA

1GB (Gigabyte 吉字节 又称“千兆百”)=1024MB

扩展资料:版

字节和字的换算关系:

一个字等于多少个字节,与系统硬件(总线、cpu命令字位数等)有关,不应该毫无前提地说一个字等于多少位。

正确的说法:

①:1字节(byte) = 8位(bit)

②:在16位的系权统中(比如8086微机) 1字 (word)= 2字节(byte)= 16(bit)

在32位的系统中(比如win32) 1字(word)= 4字节(byte)=32(bit)

在64位的系统中(比如win64)1字(word)= 8字节(byte)=64(bit)

2.软件的6大质量特性:

ISO9126质量模型:软件质量模型的6大特性和27个子特性。

ISO9126软件质量模型是评价软件质量的国际标准,由6个特性和27个子特性组成,建议大家深入理解各特性、子特性的含义和区别,在测试工作需要从这6个特性和27个子特性去测试、评价一个软件。这个模型是软件质量标准的核心,对于大部分的软件,都可以考虑从这几个方面着手进行测评。

 

2qw一、功能性
1、适合性:提供了相应的功能
2、准确性:正确(用户需要的)
3、互操作性:产品与产品之间交互数据的能力
4、保密安全性:允许经过授权的用户和系统能够正常的访问相应的数据和信息,禁止未授权的用户访问.......
5、功能性的依从性:国际/国家/行业/企业 标准规范一致性
二、可靠性:产品在规定的条件下,在规定的时间内完成规定功能的能力
1、成熟性:防止内部错误导致软件失效的能力
2、容错性:软件出现故障,自我处理能力
3、易恢复性:失效情况下的恢复能力
4、可靠性的依从性
三、易用性:在指定使用条件下,产品被理解、 学习、使用和吸引用户的能力
1、易理解性
2、易学性
3、易操作性
4、吸引性
5、易用性的依从性
四、效率性:在规定台条件下,相对于所用资源的数量,软件产品可提供适当性能的能力
1、时间特性:平均事务响应时间,吞吐率,TPS(每秒事务数)
2、资源利用性:CPU 内存 磁盘 IO 网络带宽 队列 共享内存
3、效率依从性
五、软件维护性:"四规", 在规定条件下,规定的时间内,使用规定的工具或方法修复规定功能的能力
1、易分析性:分析定位问题的难易程度
2、易改变性:软件产品使指定的修改可以被实现的能力
3、稳定性:防止意外修改导致程序失效
4、易 测试性:使已修改软件能被确认的能力
5、维护性的依从性
六、软件可移植性:从一种环境迁移到另一种环境的能力
1、适应性:适应不同平台
2、易安装性:被安装的能力
3、共存性
4、易替换性
5、可移植性的依从性

3.Alpha测试与beta的区别

alpha测试版,有点相当于内部测试,一般开发人员在场   ,是由用户做测试,但开发人员在场,一般是请用户到开发现场去测试 
beta测试版,完全交给用户,由用户做测试,返回测试报告,相当于发行前的一个版本   

Alpha测试 在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。 
Beta测试 当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。

1、测试时间不同:

Beta测试是百软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动,它是技术测试的最后一个阶段。

alpha测试简称“α测试”,可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度度之后再开始。

2、测试的目的不同:

α测试的目的是评价软件产品的FLURPS(即功能、局域化、知可用性、可靠性、性能和支持)。尤其注重产品的界面和特色。α测试即为非正式验收道测试。

Beta测试是一种验收测试,通过了验收测试,产品就会进入发布阶段。

3、测试人员及场所不同:

α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,α测试不能由程序版员或测试员完成。α测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。

Beta测试由软件的最终用户们在一个或多个客户场所进行。开发者通常不在Beta测试的现场,因Beta测试是软件在开发者不能控制的环境中的“真实”应用。

4.软件缺陷等级划分

A类—严重错误,包括以下各种错误: 1.由于程序所引起的死机,非法退出 2.死循环 3.数据库发生死锁 4.因错误操作导致的程序中断 5.功能错误 6.与数据库连接错误 7.数据通讯错误

B类—较严重错误,包括以下各种错误: 1.程序错误 2.程序接口错误 3.数据库的表、业务规则、缺省值未加完整性等约束条件

C类—一般性错误,包括以下各种错误: 1.操作界面错误(包括数据窗口内列名定义、含义是否一致) 2.打印内容、格式错误 3.简单的输入限制未放在前台进行控制 4.删除操作未给出提示 5.数据库表中有过多的空字段

D类—较小错误,包括以下各种错误: 1.界面不规范 2.辅助说明描述不清楚 3.输入输出不规范 4.长操作未给用户提示 5.提示窗口文字未采用行业术语 6.可输入区域和只读区域没有明显的区分标志

E类—测试建议

5.请描述TCP/IP建立连接的过程

采用三次握手,建立一个连接。

第一次握手,客户端发送syn包(syn=j)到服务端,并进入SYN_SEND状态,等待服务器确认;

第二次握手,服务端收到syn包,必须确认客户的SYN(ack=j+1),同时也发送一个syn包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手,客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入EATABLISHED状态,完成三次握手 

6.测试分为那几个阶段?并对每个阶段详细说明

按照开发阶段划分,软件测试可分为单元测试、集成测试、系统测试和验收测试

集成测试:针对每个单元的测试,以确保每个模块能正常工作为目标

集成测试:对已经测试过的模块进行组装,进行集成测试。目的就是在于检验与软件设计相关的程序结构问题。

系统测试:检验软件产品能够与系统的其他部分(比如:硬件、数据库及操作人员)协调工作。

验收测试:检验软件产品质量的最后一道工序,主要突出用户的作用,同时软件开发人员也有一定程度的参与。

7.什么是软件测试?软件测试的目的与原则

在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

软件测试的目的:

测试是程序的执行过程,目的在于发现错误
一个成功的测试用例在于发现至今未发现的错误
一个成功的测试是发现了至今未发现的错误的测试
确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
确保产品满足性能和效率的要求
确保产品是健壮的和适应用户环境的

        1)软件测试是为了发现错误而执行程序的过程。

        2)测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)

        3)一个好的测试用例在于它发现至今未发现的错误。

        4)一个成功的测试是发现了至今未发现的错误的测试。

注意:

        1、测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征。可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,通过分析也能帮助我们设计出有针对性的检测方法,改善测试的有效性。

        2、没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。例如Bev Littlewood发现一个经过测试而正常运行了n个小时的系统有继续正常运行n个小时的概率。

 

软件测试的原则:

测试用例中一个必须部分是对预期输出或接过进行定义
程序员应避免测试自己编写的程序
编写软件的组织不应当测试自己编写的软件
应当彻底检查每个测试的执行结果
测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况
检擦程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”
应避免测试用例用后即弃,除非软件本身就是个一次性的软件
计划测试工作时不应默许假定不会发现错误
程序某部分存在更多错误的可能性,与该部分已经发现错误的数量成正比
软件测试是一项极富创造性,极具智力的挑战性的工作

 

       1)应当把“尽早地不断地进行软件测试“作为软件开发者的座右铭。

       2)测试用例应由测试数据和与之对应的预期输出结果这两部分组成。

       3)程序员应避免检查自己的程序。

       4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。

       5)充分注意测试中的群集现象。

       6)严格执行测试计划,排除测试的随意性。

       7)应当对每一个测试结果做全面的检查。

       8)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。

一、Testing shows presence of defects
       测试显示软件存在缺陷
       测试只能证明软件中存在缺陷,但并不能证明软件中不存在缺陷。软件测试是为了降低存在缺陷的可能性,即便是没有找到缺陷,也不能证明软件是完美的。
二、Exhaustive testing is impossible
       穷尽测试是不可能的
       现在软件的规模越来越大,复杂度越来越高,想做到完全性的测试是不可能的。在测试阶段,测试人员可以根据风险和优先级来进行集中和高强度的测试,从而保证软件的质量。
三、Testing early
       测试尽早介入
       为什么测试要尽早介入呢,简单的说就是保证软件质量,降低风险和成本。测试人员一般在需求阶段就开始介入,使缺陷在需求或设计阶段就被发现,缺陷发现越早,修复的成本就越小。
四、Defect clustering
       缺陷集群性(2/8原则)
       缺陷集群性表明小部分模块包含大部分的缺陷。软件测试中存在Pareto原则:80%的缺陷发现在20%的模块中。
       一个功能模块发现的缺陷越高,那存在的未被发现的缺陷也越高,故发现的缺陷与未发现的缺陷成正比。
五、Pesticide Paradox
      杀虫剂悖论
      反复使用相同的杀虫剂会导致害虫对杀虫剂产生免疫而无法杀死害虫。软件测试也一样。如果一直使用相同的测试方法或手段,可能无法发现新的bug。
      为了解决这个问题,测试用例应当定期修订和评审,增加新的或不同的测试用例帮助发现更多的缺陷。
      测试人员不能一直依赖于现有的测试技术,而要不断的提升测试方法以提高测试效率。
六、Testing is context dependent
      测试活动依赖于测试内容
      根据业务的不同,软件测试内部也分为不同的行业,比如游戏行业、电商行业、金融行业。不同的行业,测试活动的开展都有所不同,比如测试技术、测试工具的选择,测试流程都不尽相同,所以软件测试的活动开展依赖于所测试的内容。
七、Absence of error - fallacy
       没有错误是好是谬论
      有可能99%没有bug的软件也是不能使用的。如果对错误的需求进行了彻底的测试,这种情况就发生了。软件测试不仅是找出缺陷,同时也需要确认软件是否满足需求。如果开发出来的产品不满足用户的需求,即便找到和修复了缺陷也作用不大。

 

8.系统测试的策略有哪些?列出任意10种即可

功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试

9.8位ASCII字符编码的最大值

8位ASCII字符编码的最大值是255。 计算机中存储数据用的是二进制。 8位二进制最高位位权为2^7,最低位位权为2^0(也就是1)。 最大数为(11111111)2 = (100000000 - 1)2 = (2^8 - 1)10 = 255.

10.为什么说单元测试能发现约80%的软件缺陷

这是软件工程长期的历史数据统计和测试zd经验总结得来的,没听说过有典故或理由。当然要发现这80%的缺陷也版是要依靠设计出良好的测试用例,另外顺便提下,软件测试行业有个二八原则,就是软件80%的缺陷权存在与20%的代码中

因为缺陷放大理论,在单元测试阶段发现的bug会在系统测试阶段被放大,放大倍数完全符合80/20理论

11.SQL语言的分类

SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

1. 数据查询语言DQL
数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE
子句组成的查询块:
SELECT <字段名表>
FROM <表或视图名>
WHERE <查询条件>

2 .数据操纵语言DML
数据操纵语言DML主要有三种形式:
1) 插入:INSERT
2) 更新:UPDATE
3) 删除:DELETE

3. 数据定义语言DDL
数据定义语言DDL用来创建数据库中的各种对象-----表、视图、
索引、同义词、聚簇等如:
CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
| | | | |
表 视图 索引 同义词 簇

DDL操作是隐性提交的!不能rollback 

4. 数据控制语言DCL
数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制
数据库操纵事务发生的时间及效果,对数据库实行监视等。如:
1) GRANT:授权。


2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。
回滚---ROLLBACK
回滚命令使数据库状态回到上次最后提交的状态。其格式为:
SQL>ROLLBACK;


3) COMMIT [WORK]:提交。


    在数据库的插入、删除和修改操作时,只有当事务在提交到数据
库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看
到所做的事情,别人只有在最后提交完成后才可以看到。
提交数据有三种类型:显式提交、隐式提交及自动提交。下面分
别说明这三种类型。


(1) 显式提交
用COMMIT命令直接完成的提交为显式提交。其格式为:
SQL>COMMIT;


(2) 隐式提交
用SQL命令间接完成的提交为隐式提交。这些命令是:
ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。


(3) 自动提交
若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,
系统将自动进行提交,这就是自动提交。其格式为:
SQL>SET AUTOCOMMIT ON;

12.其它

单元测试一般以白盒为主,测试的依据是模块功能规格说明

为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括配置项标识、配置项控制、配置状态报告、配置审计

13.怎样进行文档测试

  非代码的文档测试主要检查文档的正确性、完备性和可理解性。软件驱动的文档还得像程序一样运行测试。

  正确性是指不要把软件的功能和操作写错,也不允许文档内容前后矛盾。

  完备性是指文档不可以“虎头蛇尾”,更不许漏掉关键内容。文档中很多内容对开发者可能是“显然”的,但对用户而言不见得都是“显然”的。

  文档要让大众用户看得懂,能理解。术语、缩写用户是否理解?内容和主题是否一致?

  很多程序员能编写出好程序,却写不出清晰的文档。与文档作者密切合作,对文档仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例是进行文档测试的基本方法。


http://chatgpt.dhexx.cn/article/siC1mrdU.shtml

相关文章

测试工程师面试题

选择题 进行兼容性测试的目的在于&#xff08;&#xff09; A、测试程序在不同的平台上可以正常运行B、测试程序与平台上的其他程序可以同时正常运行C、测试数据格式在不同应用程序之间可以通用D、以上选项都正确 某个 Android 应用耗电问题严重&#xff0c;以下那个是可能的…

软件测试工程师面试题汇总

小编热衷于收集整理资源&#xff0c;记录踩坑到爬坑的过程。希望能把自己所学&#xff0c;实际工作中使用的技术、学习方法、心得及踩过的一些坑&#xff0c;记录下来。也希望想做软件测试的你一样&#xff0c;通过我的分享可以少走一些弯路&#xff0c;可以形成一套自己的方法…

100道经典软件测试笔试题(附答案)一次性查缺补漏个够

千呼万唤始出来&#xff0c;很多群友说我看了这么多面试题&#xff0c;但是公司要笔试怎么办&#xff1f;有没有能够笔试给我们练练手&#xff0c;这边我也是特意帮大家整理了这么100道软件测试的笔试题&#xff0c;答案在最后&#xff0c;试试自己能答对多少吧&#xff01;需要…

软件测试工程师笔试题(附带答案)

软件测试题目 一、 判断题 (每题2分&#xff0c;20) 1、软件测试就是为了验证软件功能实现的是否正确&#xff0c;是否完成既定目标的活动&#xff0c;所以软件测试在软件工程的后期才开始具体的工作。 &#xff08;初级&#xff09; &#xff08; &#xff09; 2、发现错误多…

初级测试工程师面试笔试题(附带答案)

1.编写测试用例有哪几种方法&#xff1f; 答&#xff1a;大刚法、等价类、边界值、因果图、场景法、正交法、错误推断法、正则表达式 2.测试的六条基本法则是什么&#xff1f; 答&#xff1a;功能、可靠性、易用性、效率、可维护性、可移植性 3.软件测试分类有哪些&#xff1f;…

2022年最新软件测试工程师笔试真题及答案(搜狐、华为、蓝港在线)

搜狐软件测试工程师笔试真题及答案 试题1&#xff0e;下列哪个覆盖的范围最广&#xff1f;条件、条件组合、语句、判定条件。 答案&#xff1a;条件组合。 试题2&#xff0e;Java Web应用的3层结构是什么&#xff1f; 答案&#xff1a;浏览器/中间层&#xff08;Java ASP等…

hadoop安装前的网络环境配置

1.1 网络配置 对安装好的 VMware 进行网络配置&#xff0c;方便虚拟机连接网络&#xff0c;本次设置建议选择 NAT 模 式&#xff0c;需要宿主机的 Windows 和虚拟机的 Linux 能够进行网络连接&#xff0c;同时虚拟机的 Linux 可 以通过宿主机的 Windows 进入互联网。 1.1.1 编…

Windows下Hadoop的环境变量的配置以及Hadoop的配置文件修改

Hadoop的环境变量的配置 1.进入系统变量&#xff0c;右键单击我的电脑 –>属性 –>高级环境变量配置 –>高级选项卡 –>环境变量 –> 单击新建HADOOP_HOME 2.在系统变量path 里面 添加 %HADOOP_HOME%\bin; 3.测试&#xff1a;打开命令行cmd ,在任意路径下输入h…

Hadoop应用配置

文章目录 hadoop目录配置hadoop角色hadoop运行和使用hadoop 观察FsImage和EditLog分发配置 hadoop目录 bin &#xff1a;功能模块sbin&#xff1a;shell脚本etc&#xff1a;配置lib&#xff1a;使用库 bin和sbin目录都要加入到环境变量中。 vi /etc/profile增加&#xff1a; …

配置Hadoop_1

配置Hadoop_1 1. 配置jdk2. 配置Hadoop3.完全分布式运行环境&#xff08;配置集群&#xff09;3.1 编写集群分发脚本xsync3.2 rsync远程同步工具3.3 xsync集群分发脚本3.4 SSH无密登录配置3.5集群配置3.6 配置历史服务器3.7 配置日志的聚集 3.8 两个常用脚本asd 1. 配置jdk 上…

hadoop集群配置(保姆级教学)

目录 1 .集群配置 &#xff08;1&#xff09;集群部署规划 (2&#xff09;配置文件说明 (3&#xff09;配置集群 &#xff08;1&#xff09;核心配置文件 &#xff08;2&#xff09;HDFS配置文件 &#xff08;3&#xff09;YARN配置文件 &#xff08;4&#xff09;MapRedu…

Hadoop集群配置

一&#xff1a;集群部署规划 注意&#xff1a; ➢ NameNode和SecondaryNameNode不要安装在同一台服务器 ➢ ResourceManager也很消耗内存&#xff0c;不要和NameNode、SecondaryNameNode配置在同一台机器上。 二&#xff1a;配置文件说明 Hadoop配置文件分两类&#xff1a…

Hadoop配置环境变量(详解版)

1.运行hadoop的程序报错java.io.IOException: Could not locate executable nullinwinutils.exe in the Hadoop binaries. **这是因为windows环境变量不兼容的原因解决办法&#xff1a; 首先需要下载 hadoop的tar.gz包&#xff0c;前提是JDK必须配置成功&#xff0c;存放路径不…

hadoop配置文件

安装前的工作&#xff1a; jdk集群中节计算机互联互通关闭防火墙节点间的计算机免密码登录&#xff08;authorized_keys认证文件root用户存放在/root/.ssh/&#xff09; (User用户 /home/user/.ssh/) A计算机免密码登录B计算机&#xff0c;将A计算机的公钥存放在B计算机的认证…

4.Hadoop环境配置

4. 集群配置 4.1 集群部署规划 安装前先做好节点规划&#xff0c;完全分布式目前规划1个主节点&#xff08;Master&#xff09;和2个从节点&#xff08;Slave&#xff09;一共三个节点。 部署规划要求&#xff1a; NameNode和SecondaryNameNode不要安装在同一台服务器。Reso…

hadoop环境配置

hadoop环境配置 一、VmWare与linux版本VmWare版本&#xff1a;linux版本 二、使用VmWare来安装linux软件三、三台linux服务器环境准备1、三台机器IP设置2、三台机器关闭防火墙3、三台机器关闭selinux4、三台机器更改主机名5、三台机器更改主机名与IP地址映射6、三台机器同步时间…

hadoop详细安装及配置

一、下载 http://hadoop.apache.org/ hadoop官网 二、解压 注&#xff1a;使用管理员权限解压 三、配置环境变量 添加HADOOP_HOME配置&#xff1a;自己安装hadoop路径&#xff0c;我的是D:\hadoop-3.0.3 在Path中添加如下&#xff1a;自己安装hadoop路径/bin&#xff0c;…

Hadoop集群的配置

一.、创建虚拟机 (10条消息) CentOS 7 虚拟机的搭建_仄言2997的博客-CSDN博客 1. 创建虚拟机 2. 安装 CentOS 二、虚拟机网络设置 (10条消息) 虚拟机网络配置_仄言2997的博客-CSDN博客 三、 安装JDK (10条消息) 虚拟机安装jdk&#xff0c;运行java文件_仄言2997的博客-CSDN博客…

Hadoop集群环境配置搭建

一、简单介绍 Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene&#xff0c;这个搜索引擎在2001年成为Apache基金会的一个子项目&#xff0c;也是 ElasticSearch等重要搜索引擎的底层基础。 项目官方&#xff1a;https://hadoop.apache.org/ 二、Linux环…

超详解Hadoop集群环境配置,步步附有截图,一篇讲解清楚

写在最前&#xff0c;在配置Hadoop之前&#xff0c;要确定已经准备好了Hadoop的准备环境&#xff0c;并且已经在机器上安装完了Hadoop&#xff0c;以及编写了一些必要的集群脚本&#xff0c;具体操作详情见这两篇文章 Hadoop安装及集群脚本编写 Hadoop集群准备环境搭建 一、Ha…