【2021软件测试扫盲】测试理论(325页“面试教科书”免费送)


软件测试扫盲


按测试技术划分

黑盒测试、白盒测试、灰盒测试

被测试对象是否运行

动态测试、静态测试 (文档检查、代码走查)

按不同的测试手段划分

手工测试(点工) 、自动化测试(工具+代码)

按测试包含的内容划分

功能测试、界面测试、安全测试、兼容性测试、易用性测试

功能测试:测试业务逻辑(手工、自动化)--核心重要

界面测试:UI(user interface)--外观美好、设计合理、友好、---主观性强=需求文档 (原型图 UI切图)--优先级会低

安全测试:高级类型-工具 (扫描--appsan) 代码(脚本-sql注入) --漏洞,薄弱

性能测试: 高级类型-双十一(访问人数多)--并发 (10000) ---资源 内存 --正常处理

易用性测试: --人性化  ,舒适,用户体验==提bug ===站在用户角度考虑,考虑成熟产品

兼容性测试:软件+硬件(windows,Linux,MacOS,Android,Ios); 软件+软件--调用; 软件不同版本之前App(老功能,数据)

按测试阶段划分

单元测试、集成测试、系统测试、验收测试、a测试、b测试

其他测试

回归测试、冒烟测试、探索性测试/自由测试(测试思维)

回归测试:  regression test : 测试-bug ,开发修复bug(修改代码)== 验证bug==其他没被修改的代码模块测试,影响: 上线之前-很多轮 (2-4轮) 的回归冒烟测试(重复) ==自动化测试

冒烟测试:来源--硬件测试 : 电路板-冒烟-短路被烧了=打回开发重做--软件测试:软件提测-核心业务功能

主流程 ,提高测试效率

探索性测试: 发散测试 -能力要求非常的高 ,没有依据,方法  ,只能靠经验、积累、直觉

需求评审:

什么是需求评审:

项目相关人员就产品需要进行确认和评估的相关活动

为什么要需求评审:

项目组成员理解需求,以便后期高效的进行、开发、设计工作

测试人员参与需求评审的职责

 1.确保主机的理解与产品设计理念一直

明确实现的需求范围

提出主机对产品需求不合理或遗漏

产品需求评审案例 : 只看功能是否正常 ,看控件位置 ,对流程的控制

有需求提需求,让产品更加完美

测试计划,就是一个word文档

测试用例测试思路

用例设计思路:帮助测试人员构建清晰的测试思维,指导测试思路

个人头像功能测试需求分析

分析显性,和隐性

显性:正常文章描述的东西

隐性: 那边边边角角没有显示出来的细节

测试用例的编写

使用Xmind列出要测试的点,根据测试的需求来定,简单一句,就是找测试点

最后使用Excel 进行功能测试

就是这么玩的

需求

测试用例

弱网测试

使用Fiddler 模拟 3G ,4G 的访问速度,也就是 具体时间

交叉测试

缺陷记录:


测试理论

1.软件工程

01.阐述软件生命周期都有哪些阶段?常见的软件生命周期模型有哪些?

02.什么是版本控制,常用的版本控制系统有哪些?

03.简述软件测试与软件开发之间的关系?

04.线上版本如何测试和更新?

05.初进公司如何熟悉项目?

06.软件测试的定义和目的分别是什么?

2.测试模型

001.常见测试模型有哪些?

002.请根据”V"模型分别概述测试人员在软件的需求定义阶段、设计阶段、编码阶段、系统集成阶段的工作任务及其相应生成的文档?

3.测试计划

001.编写测试计划的目的是什么?

002.什么是测试方案?测试方案和测试计划的区别是什么?

003.测试计划编写的六要素?

004.项目版本执行过程中,测试人员如何把控测试进度?

005.怎样做好测试计划?

006.怎样做好任务跟踪?

007.怎样做好漏测分析?

008.测试人员在软件开发过程中的任务是什么?

4.测试类型

001.请列出你所知道的软件测试种类,至少5项?

002.黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系

003.白盒测试与黑盒测试及其常用测试方法概念?

004.简述黑盒测试和白盒测试的优缺点?

005.在没有产品说明书和需求文档的情况下能够进行黑盒测试的设计吗?

006.简述集成测试与系统测试关系

007.单元测试的策略有哪些,主要内容有哪些?

008.白盒测试逻辑覆盖有哪几种覆盖标准,覆盖率最高的是什么?

009.Beta测试和Alpha测试有什么区别?

010.简述软件测试中什么叫文档测试

011.简述除用户文档外,文档测试还需要关注哪些文档

012.紧急插入需求,测试时间不足,如何处理

013.软件的安全性应从哪几个方面去测试

5.测试流程

001.软件测试的基本流程有哪些?

002.测试结束的标准是什么?

003.软件测试的原则是什么?

6.用例设计

001.什么是测试用例,测试用例的基本要素?

002.描述测试用例设计的完整过程?

003.好的测试用例有哪些特点?

004.写测试用例时要注意什么问题

005.如何在有限的情况下提高测试效率,保证产品的上线质量?

006.如何降低漏测率

007.测试用例的基本设计方法

008.测试为什么要写测试用例

009.产品上线后你负责的模块出现错误,用户反馈不好,你是怎么解决的?

010.测试用例在整个测试工作中的地位及其作用

7.缺陷BUG

001.什么是缺陷报告,缺陷报告的作用,缺陷报告的要点

002.软件测试缺陷报告的5C原则

003.软件缺陷的生命周期?

004.缺陷描述(报告单) 中应该包括哪些内容?

005.如何提高缺陷的记录质量?

006.如果一个缺陷被提交后,开发人员认为不是问题,怎么处理?

007.你在测试过程中发现一个重现低的bug,你如何处理?

008.缺陷的优先级划分和描述

009.开发未提测,上线出问题后,被质疑时如何处理?

010.测试的时候使用了哪些工具来辅助

8.测试实例

001.一个有广告的纸杯子,请设计测试用例?

002.一个身份证号码输入框,怎么设计用例?

003.登录功能怎么设计测试用例?

004.移动端和web端测试有什么区别

005.测试一个C/S客户端时,需要考虑的因素

006.测试电梯,请详细描述

007.对一只圆珠笔进行测试

008.测试一个网上购物的购物

009.请以微信点赞,功能点进行测试

010.搜索框怎么测

管理工具

001.你熟悉的软件项目管理工具有哪些?

002.结合你的测试工作中使用的管理缺陷的工具,讲一下使用此工具描述软件缺陷跟踪管理流程?

003.简述常用的Bug管理或者用例管理工具,并且描述其中一个工作流程?

004.禅道和qc的区别?

计算机基础

1.操作系统

001.什么是内存泄漏?什么是内存溢出?二者有什么区别?

002.了解的操作系统有哪些?

2.计算机网络

001.什么是局域网,广域网?

002.10M兆宽带是什么意思?理论下载速度是多少?

003.什么是IP地址?

004.OSI七层网络模型的划分?

005.TCP和UDP有什么不同?

006.HTTP属于哪一层的协议?

007.HTTP和HTTPS的区别?

008.cookies和session的区别?

009.HTTP的get请求和post请求的区别?

010.HTTP1.0和HTTP1.1有什么区别

011.TCP的连接建立过程,以及断开过程?

012.常用协议端口号SSH、DHCP、HTTP、FTP、 SMTP、DNS等?

013.客户端使用DHCP获取IP的过程?

014.写出某个网段的网络地址和广播地址?

015.什么是VPN都有什么类型?

016.B/S和C/S的区别

017.线程和进程的区别

018.常用的响应码

3.组成原理

001.计算机基本组成

002.一条指令在CPU的执行过程

003.计算机的逻辑部件

4.数据结构与算法

001.冒泡排序

002.插入排序

003.希尔排序

004.快速排序

005.直接选择排序

006.堆排序

007.归并排序

008.基数排

Python

1.综合

001.斐波那契数列求N

002.字符串反序输出

003.判断回文

004.统计python源代码文件中代码行数,去除注释,空行,进行输出

005.python调用cmd并返回结果

006.冒泡排序

007.1,2,3,4这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?

008.给定一个整数N,和一个0-9的数K,要求返回0-N中数字K出现的次数

009.请用python打印出10000以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221等)

010.判断101-200之间有多少个素数,并输出所有的素

011.一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类划分法设计测试用例

2.输入与输出

001.代码中要修改不可变数据会出现什么问题?抛出什么异常

002.代码中要修改不可变数据会出现什么问题?抛出什么异常

003.print 调用Python中底层的什么方法?

004.简述你对input()函数的理解?

005.python两层列表怎么提取第二层的元素

3.条件与循环

001.range和xrange的区别?

002.阅读下面的代码,写出AO, A1至An的量终值了

003.考虑以下Python 代码,如果运行结束,命令行中的运行结果是什么?

……

Linux

如何查看CPU信息?

查看占用CPU使用率最高的进程?

如何查看一个文件的末尾50行?

如何过滤文件内容中包含”ERROR “的行?

查看某端口号?

查看某进程号?

rep和find的区别? grep都有哪些用法?

查看IP地址?

创建和删除一个多级目录?

在当前用户家目录中查找haha.txt文件?

如何查询出tomcat的进程并杀掉这个进程,写出linux命令?

动态查看日志文件?

查看当前机器listen的所有端口?

把一个文件夹打包压缩成.tar.gz的命令,以及解压拆包.tar.gz的命令?

Xshell工具如果想要实现从服务器上传或者下载文件的话,可以在服务器上安装什么包?

/etc/passwd的前五行内容为例,提取用户名?

在linux中find和grep的区别?

命令”tail myfile" 表示什么意思?命令head myfile是什么意思?

在vim编辑器里,哪个命令能将光标移到200行?进行字符串查找使用什么命令?怎样从插入模式切换为命令模式

如何查询内存占用情况

Linux查看真是使用的内存命令

更改服务器时间

Linux下查看系统任务状态的命令

Linux下查看进程的命令

Linux下查看系统进程中是否有Tomcat在运行的命令

Linux下如何查看当前运行的所有Jenkins程序的进程

Linux下设置IP地址的命令和格式

Linux下查看系统硬盘空间的命令

Linux下查看磁盘空间

查看当前文件夹下的磁盘使用情况

将文件A.txt 从/home/test复制到/data/test下

查询C.log中带有tasklD=12345的内

每天9点执行脚本/home/

抽取xxx.log日志文件中,包含502的行

如何在Linux下查找/use/proc目录下所有包含名称中包含test串的文件或者文件

实时查看日志/data/log/service/error.log的命令

打印显示日志/data/log/service/error.log包含字段[ErrorCode=80]的日志信息命令

在一个目录下的多个文件中查找手机号“138138” 的记

如何查找一个文件大小超过60M的文件

Linux下如何用命令查看实时日志

用shell命令查询目录下全部.svn的文件并删除?

MySQL

1.基础知识

什么是数据库?

什么是关系型数据库,主键,外键,索引分别是什么?

表的连接查询方式有哪些,有什么区别?

SQL的select 语句完整的执行顺序?

说一下Mysql数据库存储的原理?

事务的特性?

数据库索引?

数据库怎么优化查询效率?

你用的Mysql是哪个引擎,各引擎之间有什么区别?

如何对查询命令进行优化?

数据库的优化?

Sql注入是如何产生的,如何防止?

NoSQL和关系数据库的区别?

MySQL与MongoDB本质之间最基本的差别是什么

Mysql数据库中怎么实现分页?

sq|语句怎么看效率?

提取数据库中倒数10条数据?

Mysql 数据库的操作?

优化数据库?提高数据库的性能?

存储过程和函数的区别?

Mysql开启General-log 日志?

请写出truncate

delete、drop 的区别

……

Web测试

描述用浏览器访问www.baidu.com的过程?

了解的常用浏览器有哪些?

以京东首页为例,设计用例框架。(注意框架设计逻辑, 区域划分,专项测试等,不需要详细用例,需要查看PC可直接和辨识管提要求)

你所用到的测试方法和测试策略有哪些?编写测试用例时包含哪些因素?请结实际操作举例说明(越全越好)

测试界面上一个输入框,输入信息后点击保存,你怎样确定是服务端问题还是端问题?

如何测试购买下单和退货流程

什么是sql注入,什么是跨站脚本,什么是跨站请求伪造?

给你一个网站怎么开展测试?

电商支付模块的测试如何展开?

如何开展兼容性测试?

nginx,tomcat,apache都是什么?

apache和nginx的区别?

Selenium有哪些定位元素方法

win7系统中,使用IE浏览器打开www.sogou.com,按回车,1分钟后,显示白页面,请问有哪些原因会导致这个现象,如何进行排查

……

App测试

简述Android四大组件及生命周期?

当点击APP图标启动程序,说明将要发生那些过程?

APP测试的内容主要包括哪些,如何开展?

Android的兼容性测试都考虑哪些内容?

怎么从apk中查找launchable-activity

如果崩溃crush了你会怎么办?如果捕捉不到错误日志你会怎么办?

朋友圈点赞,如何设计测试用例

app端的话可以100台手机同步测试的

了解的安卓自动化测试工具有哪些,使用测工具开展测试的步骤和方法?

针对App的安装功能,写出测试点?

常见的ADB目录

adb命令你知道哪些? adb shell dumpsys dumpsys是什么意思?做什么的?

在查看logcat命令日志时候怎么内容保存到本地文件?

App崩溃(闪退),可能是什么原因导致的?

如何测试监测app的内存使用、CPU消耗、流量使用情况?

弱网测试怎么测

……

实战

1.面试题目

你觉得测试在一个公司中扮演什么角色?

Linux命令查看进程的命令,杀死进程的命令是什么?

压力测试,负载测试,性能测试的关系?

工作当中运用了哪些linux命令,什么场景下用的?

你们公司的测试流程是什么?

测试中有没做过风险评估?

自动化登录成功如何校验?

Mysql存储过程是什么?

给你几个英文单词(举例Hello world) ,设计简单脚本使其反着输出单词(这里输出world hello)

阶乘(N ! 题)如下: 10000 !得出末尾有多少个零

测试计划都包括什么?测试计划中的任务和时间都是我评估和分配吗?

觉得Web端和手机端测试有什么不同?

selenium和Appium是怎么联系的?有什么关系?

测试计划是哪个开发阶段写的?在编码之前就要把测试计划写好吗?

对于移动端混合型的元素你们是怎么抓取的?

谁来进行自动化测试用例的维护?

介绍一 下w模型和H模型的区别?

HTML常用的标签有哪些,他们代表的是什么意思?

HTTP请求代码有哪些,他们代表的是什么意思?

如果你测试的发现需求与开发的需求不一 致,你是如何处理?

给你一个淘宝购物车模块你会怎么测试?

V模型和W模型有哪些优缺点

从开发到上线会测是几轮?

搜索功能的测试用例你觉得会包括哪些?

2.笔试题目

请分别针对性能测试,负载测试和压力测试举出一简单的而例子?

什么时候开始执行性能测试?

性能测试时是不是必须进行参数化?为什么要创建参数? LR中如何创建参数

LR中如何实现多用户并发操作,要进行那些设置?

LR中有哪几种并发执行策略?它们的含义是什么?

软件验收测试的合格通过标准是什么?

区别阶段评审与同行评审?

软件验收测试包括?

系统测试的策略有?

设计系统测试需要参考的项目文档有?

对面向过程的系统采用的集成策略有?

怎么做好文档测试?

系统测试时候需要同行评审?为什么?

比较负载测试,容量测试和轻度测试的区别?

软件缺陷等级应该如何划分?

商城中购买功能的流程图?

如果开发修改了底层代码,如何查询影响范围?

测试过程中输出的文件件有哪些?

软件测试主要分为哪四类测试?

测试分析主要分析的内容有哪些?

操作说明书的帮助文档制作工具有哪些?

设计测试用例的过程中应该考虑到哪两种输入?

试描述对一-个大型软件项目的测试全过程,并描述如何把好产品质量关(该项目是一站式,其中包含十个子系统。且相关文档健全?

网络层协议有哪些?传输层协议有哪些?应用层协议有哪些?

Android和ios系统的有哪些区别?

Web页面主要测试那些内容?

Web测试有哪些性能专项?

测试app消息推送通知时候要考虑哪些内容?

软件质量评估常用那些指标?

试着画出缺陷生命周期的缺陷转换图,并标转换条件?

软件评审- -般有哪些人参加,其目的是什么?

简单描述TCP/IP协议与Http协议的区别?

有一款app它可以监控和控制跑步机,请罗列出测试点和运用到的那些测试方法?

你们是如何编写测试用例的?如何保证用用例的覆盖度?如何维护用例?

手机qq登录功能的测试点?

质量评估有哪些指标?

软件质量保证体系是什么?国家标准中与质量保证管理相关的几个标准是什么?他们的编号和全称是什么?

软件测试和质量保证有什么区别,请说明你的看法

回归测试的范围?

白盒和黑盒的区别,你是怎么运用的?

描述一下使用过的测试管理工具,及bug跟踪过程

描述曾经做过的项目的bug分析过程及举例说明一下bug分析结果。

假设正在Windows计算器上执行测试,发现1+1=2, 2+2=5, 3+3=6, 4+4=9,5+5=10,6+6=13, 写一个软件缺陷标题和有效描述该问题的软件缺陷描述?

假设某个输入由四位数字表示年,两位数字表示月,例如: 201703,测试范围1970-2049,设计测试用例完成对该输入的check

……

链接:https://pan.baidu.com/s/1SFBdDlOwkwmwCb5LO6uAJg

提取码:ok8i

相信梦想会如期而至。

迷失的时候,选择更艰辛的那条路。

当你内心有目标和梦想的时候,别害怕,勇敢的尝试一次吧,放弃很轻松,要磨灭内心的热情也很容易,但是坚持下,也许就能看到不一样的自己,人生是一次不会返程的路途,给自己一次机会有何不可。

每一个成功的人,在前进的路上都会收到很多的鼓励,也会愿意鼓励他人,我深深感受到鼓励带给我的帮助,你们的每一次点赞,就是对我最大的支持,让我一直坚持的做出更好的内容。

推荐阅读更多精彩内容