测试理论总结

2020-10-26  本文已影响0人  969f13eda4ec

1. 测试流程

(1)测试需求分析(2)制定测试计划 (3)编辑测试用例 (4)审核测试用例(5)冒烟测试(6)发现bug提交bug,开发人员进行修复bug(7)回归测试并将修改完善的bug状态进行关闭 未正确修改的bug重新激活(8)编写测试报告

2. 测试计划的编写要素

why----为什么进行测试

what----测试那些方面 不同阶段的工作内容

when----测试不同阶段的起止时间

where----相应文档 缺陷的存放位置 测试环境等

who----项目有关人员组成 安排那些人员进行测试

how----怎么去做 使用那些测试工具以及方法进行测试

3. 测试原则

a:应当把“”尽早地和不断地进行软件测试“”作为软件开发者的座右铭

b:测试用例应有测试输入数据和对应的预期结果这两部分组成

c:程序员应避免检查自己的程序

d:在设计测试用例时 应包括合理的输入条件和不合理的输入条件

e:软件测试的原则

f:充分注意测试中的群集现象 经验表明 测试后程序中残有的错误数目与该程序中已发现的错误数目成正比

g:严格执行测试计划 排除测试的随意性

h:应当对每一个测试结果做全面检查

i:妥善保存测试计划 测试用例 出错统计和最终分析报告 为维护提供方便

4. 测试方法

黑盒:等价类划分法 边界分析法 因果图法 错误推测法 正交法和场景法

白盒:逻辑覆盖法 循环测试路径选择 基本路径测试

5. 测试分类

按阶段划分:单元测试 集成测试 系统测试 验收测试

按是否运行划分:静态测试 动态测试

按是否查看代码划分:白盒测试 黑盒测试 灰盒测试

其他:回归测试 冒烟测试 随机测试

功能测试:界面 业务逻辑功能 兼容性 易用性 安全性 安装测试

性能测试:性能 负载 压力 容量 并发 配置 可靠性 失败测试

6. 测试模型

V型

W型

7. 开发流程

需求分析--概要设计--详细设计--编码--测试--软件交付--验收--维护--升级--再测试--逐步淘汰

8. 黑盒和白盒的区别

黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性, 只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。

白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及 相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。

9. 测试计划中有哪些

测试背景 测试目标 测试范围 测试输出文档 测试策略 测试规模 工作量分析 测试进程 测试进度及时间安排 测试资源 人力 设备 风险管理

10. 测试用例包含哪些

用例编号 所属模块 执行条件 测试输入 预期结果 实际结果 用例是否通过 测试人 版本 备注

11. 测试用例需要详细到什么程度才是合格的

首先根据需求文档 概要设计 测试评估 测试方案细分出各功能模块的测试项 再根据各测试项 按照概要设计 详细设计以及测试方案中测试的覆盖率细分出测试子项

12. 缺陷报告包含哪些

缺陷的标题 简要描述 却显得类型 缺陷的详细步骤描述 缺陷的实际结果 期望结果 有的缺陷需要上传截图 日志信息 缺陷的等级 缺陷指派给开发

13. 测试评审:(评审分类  评审内容  评审结束)

评审分类:部门 公司 客户评审

评审内容:

a:用例设计的结构安排是否清晰 合理 是否利于对需求进行覆盖

b:优先级安排是否合理

c:是否覆盖测试需求上的所有功能点

d:用例是否具有很好的可执行性

e:是否已经删除了冗余的用例

f:是否包含了充分的负面测试用例

g:是否从用户层面来设计用户使用场景和使用流程的测试用例

h:是否简洁 复用性强

评审结束:在评审活动中会搜集到用例的反馈信息,在此基础上进行用例更新 直接通过评审

14. 水杯  电梯 朋友圈点赞  视频播放  支付的测试用例的设计点有哪些

请看之前的简书

15. 测试发现bug开发不认为是bug的时候

在多次测试以及不同的测试环境中测试后将bug的复现步骤进行总结并提交,让开发人员来确认也可以找项目经理或者产品经理根据根据规格说明书来进行对bug进行确认是否为bug,测试人员可以将bug的内容和步骤以及相关内容(1,执行的测试用例)保存进行到测试总结中,留意在后期出问题进行文件提供。

16. Linux命令 15个

arch 显示机器的处理器架构

uname -m 显示机器的处理器架构

uname -r 显示正在使用的内核版本 

dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) 

hdparm -i /dev/hda 罗列一个磁盘的架构特性 

hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 

cat /proc/cpuinfo 显示CPU info的信息 

cat /proc/interrupts 显示中断 

cat /proc/meminfo 校验内存使用 

cat /proc/swaps 显示哪些swap被使用 

cat /proc/version 显示内核的版本 

cat /proc/net/dev 显示网络适配器及统计 

cat /proc/mounts 显示已加载的文件系统 

lspci -tv 罗列 PCI 设备 

lsusb -tv 显示 USB 设备 

17. Adb命令  15个  查看日志  (日志级别)

查看设备  adb devices

安装软件  adb install -r (APK路径) 

卸载软件  adb uninstall <软件名>    adb uninstall -k <软件名> 如果加 -k 参数,为卸载软件但是保留配置和缓存文件

登录设备  adb shell

查看内存情况  adb shell getprop 

本机内存的使用情况  findstr dalvik 

查看应用内存使用情况  adb shell dumpsys meminfo +包名

列出手机装的所有app的包名  adb shell pm list packages

列出系统应用的所有包名   adb shell pm list packages -s

列出除了系统应用的第三方应用包名  adb shell pm list packages -3 

查看手机日志  adb logcat

日志的输出时间  adb logcat -v time

查看当前连接设备:adb devices

如果发现多个设备:adb -s 设备号 其他指令

安装apk文件:adb install xxx.apk

18. Monkey命令  和日志区别

adb shell monkey 100  执行monkey 测试100次针对rom测试或者

adb shell monkey -p com.example.login 100

adb shell monkey 100 >c:/log/b.txt  将log信息写到文档中

adb shell monkey -p com.example.login --throttle 300 100 表示执行100个伪随机用户事件流 事件间隔为300毫秒

--ignore-crashes 通常应用发生崩溃或异常时Monkey会停止运行 如果设置此项 Monkey将继续发送事件给系统 直到事件计数完成

--ignore-timeouts(ANR) 通常应用程序发生任何超时错 Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成

-p 允许的包名列表

日志详细程度:

Level0 : adb shell monkey -p com.example.login -v 100//缺省值,仅提供启

动提示、测试完成和最终结果等少量信息

Level1: adb shell monkey -p com.example.login -v -v 100//提供较为详细的日志,包括每个发送到Activity的事件信息

Level2: adb shell monkey -p com.example.login -v -v -v 100//最详细的日志,包括了测试中选中/未选中的Activity信息

19. 查看日志的前10行后5行的命令

前10行:head -n 10/ect/profile

后5行:tail -n 5/ect/profile

20. Bug生命周期

提交bug--判断bug是否及时处理--分配bug--处理当前bug是否推迟--验证bug--修改完善--关闭bug

21. Bug的状态和优先级

bug的状态(严重等级):

1. Blocker即系统无法执行、崩溃或严重资源不足、应用模块无法启动或异常退出、无法测试、造成系统不稳定。

2.Critical 即影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性。

3.Major 即界面、性能缺陷、兼容性。

4.Minor 即易用性及建议性问题。

Bug的优先等级:

1.      Immediate 即“马上解决”,表示问题必须马上解决,否则系统根本无法达到预定的需求。

2.      Urgent即“急需解决”,表示问题的修复很紧要,很急迫,关系到系统的主要功能模块能否正常。

3.      High即“高度重视”,表示有时间就要马上解决,否则系统偏离需求较大或预定功能不能正常实现。

4.      Normal即“正常处理”,进入个人计划解决,表示问题不影响需求的实现,但是影响其他使用方面,比如页面调用出错,调用了错误的等。

5.      Low即“低优先级”,即问题在系统发布以前必须确认解决或确认可以不予解决。

22. Bug的分类

1.代码错误   2.设计缺陷   3.界面优化   4.性能问题   5.配置相关   6.安装部署   7.安全相关   8.标准规范   9.测试脚本    10.其他划分:功能类、界面类、性能类、易用性类、兼容性类、其他

23. Chareles的弱网测试

 首先,打开Charles,在Throttle Settings中设置网络状况,比如:

1、点击Proxy->Throttling Settings

2、☑️勾选[Enable Throttling]使的限制网速可用,相当于开启了限制网速的功能

3、关于网速的选择

概念介绍:Bandwidth(带宽)、Utilistation(利用百分比)、Round-trip(往返延迟)、MTU(最大传输单元)

3G:300k-2Mbps左右

2.5G(GPRS)一般在100kbps

2G(GSM)一般在5-9kbps

如果不习惯自定义设置带宽等,可直接在Throttle Preset下拉列表中选择,按照顺序,网速逐渐提升


3.3如果只想对某地址的请求进行弱网测试,☑️[Only for selected hosts]


进行这项设置后,我们会看到小红旗处于工作状态。

 然后,打开Sequence查看每个请求的执行情况,比如:

看到每个请求的大小(size),以及请求的状况(status)。

PS:弱网、2G、3G建议的上下行速率如下,同时还可以控制丢包率的数据

   网络      上行       下行

   弱网       10        30

   2G        15        50

   3G        384       2800

24. Chareles的断点替换(request response)

1、手机wifi设置手动代理与chales链接后,打开app点击要抓包的接口,chales中选中要修改返回值的接口右键选择breakpoints,进入调试:

2、重新点击app调用要修改返回值的接口的页面,chales会弹出对应接口edit页面,若修改request则直接选择下图中的edit request,修改对应的request信息

3、若修改response则选择页面底部execute按钮进入如下页面,选择edit response页签既可以实现对返回值的修改

25. chareles的对app端抓包的步骤

设置代理:

1.查看默认端口:Proxy->Proxy Settings  在这个页面会看到HTTP Proxy的默认端口是8888

2.查看当前电脑的IP:Help->Local IP Address,在这个页面会看到本机IP

3.手机上设置代理(记住手机跟电脑要在同一个网络

4.手机连接到Charles时会弹出提示框是否连接,点击Allow允许即可完成后就可以看到已经能抓到http请求的数据了

5.但是https协议的包还抓不到,接下去继续配置

6.设置Charles SSL代理

 设置抓取https协议的包:Proxy->SSL Proxy Settings    弹出一个ssl代理设置界面

   1) Enable SSL Proxying复选框打上勾

   2) 添加你想要的设置代理的域名,端口默认443

7.手机下载ssl证书

1)Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser,会弹出提示框

2) 手机浏览器输入网址:http://charlesproxy.com/getssl,即可自动下载证书到手机端,完成了以上步骤就可以抓到https请求的数据了

26. Jmeter的接口测试

1.打开Jmeter 安装包,进入\bin 中,找到"jmeter.bat", 点击打开即可。

2.在下图打开的Jmeter 页面中,右键“测试计划” -> “添加” -> "Threads(Users)" -> “线程组”, 建立线程组。

3.右键“线程组” -> “添加” -> “Sample” -> “HTTP请求”, 输入“服务器名称或IP”,对应的端口号,http默认端口号80,可以不写。以下请求为GET, 所有“方法”那选择“GET”, 输入对应的路径,添加参数及值。

4.右键“线程组” -> “添加” -> “监听器” -> “察看结果数”, 添加“察看结果数”, 以察看运行后的结果。

27. Jmeter的压力测试 打压 1000

1、创建线程组

2、设置线程参数

3、网路请求也可添加cookie管理器  网站有登录限制的需要用到记录用户信息(非必须)

4、添加HTTP请求,为录制http连接使用

5、可以添加添加HTTP代理服务器  (添加代理需要在浏览器中设置代理)

6、选择需要得到测试的报告样式

7、开始执行查看样式

8、停止查看返回的数据和请求是否正常

用表格样式查看

9、执行错误

28. Web端的性能指标

响应时间(客户端向服务端的请求时间,服务端对数据库的请求时间,服务端将结果展现到页面的时间)

  响应时间 2 5 8原则 

  吞吐量:指的是在一次性能测试过程中网络上传输的数据量的总和.吞吐量/传输时间,就是吞吐率.

  TPS:每秒处理事务能力

  并发数: 单用户的多次操作

多用户的单次操作

  点击率:每秒钟用户向WEB服务器提 交的HTTP请求数.

  资源使用率: cpu  <80%  内存  <80%  io <40    网络 <30%

29. App端的性能指标

  CPU占用率

  内存使用

 电量

 流量

30. Jmeter的负载测试

31. Jmeter的脚本录制(web /app)

添加代理服务器

点击 “工作台”,然后右键,添加一个代理服务器。

使用端口和目标控制器来管理录制脚本。

3.浏览器设置代理

打开火狐浏览器,找到高级-网络-设置-设置代理。

下面我们设置填写 localhost 和端口8082

上面除了可以写localhost,还可以输入你机器的IP地址,端口就是随便填写一个,只要不要和系统其它程序的端口冲突就可以,这里我设置成8082,点击确定,浏览器不要关闭。

4.添加逻辑控制器

      在 工作台 下点击前面添加的代理服务器,右键,点击添加,添加一个逻辑控制器下的录制控制器。

添加完是这样的,我们可以给这个录制控制器重命名下,例如我们录制百度,那么我们就写百度新闻(BaiDu_News),待会录制首页点击新闻链接。

点击HTTP代理服务器,切换到代理服务器配置界面,修改以下两处红圈位置。

第一个是端口号,和我们在火狐浏览器里面设置的端口保持一致,第二个是选择我们百度新闻这个录制控制器,也就是说,接下来我们录制的脚本都是在百度首页点击新闻。注意到这个页面还有一个启动和停止录制的按钮,接下来介绍。

5.启动录制脚本

点击代理服务器右侧里面的启动录制按钮,弹出一个根证书的弹窗,点击确定。

我们开始手动在火狐浏览器地址栏手动输入www.baidu.com,等页面加载完成,我们点击“新闻”这个链接,页面加载完成,我们选择停止录制,然后点击展开BaiDu_News这个录制控制器,可以看到以下这些请求。

上面点击根路径(/)这个请求,右侧HTTP请求页面可以显示请求的服务器是百度新闻。关于左侧这些请求编号,一般是从启动JMeter第一次录制开始计数,从1开始,上面我只记录了6个不同请求。

6.录制百度贴吧

重复以上4和5步骤,录制一个贴吧的脚本。

7.测试运行录制的脚本

我们点击测试计划,然后添加线程组

然后把HTTP代理服务器下的两个录制控制器,拖拽到BaiDu这个线程组下,并且给线程组添加一个结果树监听报告。

点击 运行(会提醒你保存当前测试计划),观察结果树报告。

测试结果来看,我们录制的百度首页点击新闻和贴吧这两个动作的脚本是可以用来进行压力测试。

32. TPS和qps区别

一、TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)

TPS是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

一般的,评价系统性能均以每秒钟完成的技术交易的数量来衡量。系统整体处理能力取决于处理能力最低模块的TPS值。

二、QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。

个人理解如下:

1、Tps即每秒处理事务数,包括了

1)用户请求服务器

2)服务器自己的内部处理

3)服务器返回给用户

这三个过程,每秒能够完成N个这三个过程,Tps也就是3;

2、Qps基本类似于Tps,但是不同的是,对于一个页面的一次访问,形成一个Tps;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“Qps”之中。

33. 负载和压力区别

负载测试:在一定的工作负bai荷下du,给系统造成的负荷及系统响应的时间。zhi

压力测试:在一定dao的负荷条件下,长时间连续运行系统给系统性能造成的影响。

1.性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。关注点:how much和how fast

2.负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。

34. Mysql的 inner join  left join right join  full join  区别

35. MySQL的数据库优化

36. Mysq的存储过程

37. 编写http接口的性能测试,和测试过程中的关注点 流程

38. http和https的区别

http协议和https协议的区别:传输信息bai安全性du不同、zhi连接方式不同、端口不同、证书申请方式不同

一、传输信息安全性不dao同

1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。

2、https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。

二、连接方式不同

1、http协议:http的连接很简单,是无状态的。

2、https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

三、端口不同

1、http协议:使用的端口是80。

2、https协议:使用的端口是443.

四、证书申请方式不同

1、http协议:免费申请。

2、https协议:需要到ca申请证书,一般免费证书很少,需要交费。

39. OSI和tcp/IP的区别

OSI的概念: Open System Interconnect开放系统互连参考模型,是由ISO(国际标准化组织)定义的。它是个灵活的、稳健的和可互操作的模型,并不是协 议,常用来分析和设计网络体系结构。

OSI模型分为七层: OSI把网络按照层次分为七层,由下到上分别为物理层、数据链路层、网 络层、传输层、会话层、表示层、应用层。

在TCP/IP协议族中,数据链路层主要有三个目的:        

    1)为IP模块发送和接收数据    

    2)为ARP模块发送ARP请求和接收ARP应答    

    3)为RARP模块发送RARP请求和接收RARP应答

TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网,令牌环网,FDDI(光纤分布式数据接口)及RS-232串行线路等。

最常使用的封装格式是RFC894定义的以太网帧格式。

帧格式采用48bit(6 byte)的目的地址和源地址。

OSI各个层的定义:

特点:1.OSI模型每层都有自己的功能集;

           2.层与层之间相互独立又相互依靠;

           3. 上层依赖于下层,下层为上层提供服务。

各层的作用与分析

       应用层为应用软件提供接口,使应用程序能够使用网络服务;例如:http(80)、ftp(20/21)、smtp(25)、pop3(110)、 telnet(23)、dns(53)等

       表示层数据的解码和编码 ;数据的加密和解密; 数据的压缩和解压缩;例如:ASCII JPEG

      会话层负责建立、管理和终止表示层实体之间的会话连 接 在设各或节点之间提供会话控制; 它在系统之间协调通信过程,并提供3种不同的方式来组织它们之间的通信:单工、半双工和全双工

       传输层负责建立端到端的连接,保证报文在端到端之间 的传输; 服务点编址、分段与重组、连接控制、流量控制、 差错控制。

网络层为网络设备提供逻辑地址(三层地址);进行路由选择、维护路由表; 负责将分组数据从源端传输到目的端。例如:1.广播、组播隔绝 2.寻址及转发选择到达目的网络的最佳路径 3.流量管理 4.连接广域网(WAN)

数据链路层在不可靠的物理链路上,提供可靠的数据传输服 务,把帧从一跳(结点)移动到另一跳(结点)。 组帧、物理编址、流量控制、差错控制、接入控制。例如:数据链路层包含:MAC(802.3)及LLC子层(802.2)

物理层负责把逐个的比特从一跳(结点)移动到另一跳 (结点)。物理层功能: 1.定义接口和媒体的物理特性2.定义比特的表示、数据传输速率、信号的传输模 式(单工、半双工、全双工)3.定义网络物理拓扑(网状、星型、环型、总线型 等拓扑)

OSI与TCP/IP的区别

1.TCP/IP支持跨层封装;OSI不支持 

2.TCP/IP仅仅支持IP网络协议;  OSI支持多种网络层协议(IP    IPX    APPLE  TALK    NOVELL   NSAP)

TCP:面向连接的     可靠的传输   协议   

UDP:非面向连接     不可靠传输协议  ;无序传递  

路由层面:AD   Metric

数据层面:与操作、最长匹配、递归查找

show run | include ip route             show run | section ip route

3..TCP/UDP

面向连接(初次通信前的一个确认行为):TCP三次握手(保障面向连接)

四次分手 1、带FIN=1的tcp报文,2、ack、3、对端带FIN=1+上一个ack的tcp报文,4、ack

在3次握手和4次分手时,每次都要消耗一个序列号,

可靠传输:1.确认机制  2.重传输   3.重排序 

UDP: 无ACK   无seq

UDP缺点:1.没有差错避免机制(可以收到重复报文) 2.没有流量控制,3.无序传递   4.没有确认机制

IP数据包: IPV4  IPV6

ipv4头部可变,最小20字节,最大60字节

TOS字段:用来指定特殊的数据包处理方式。划分为两个子字段:优先权和TOS,优先权用来设置数据包的优先级(可以在QOS中使用);TOS允许按照吞吐量、时延、可靠性和费用方式选择传输服务,TOS字段不常用,被设置为全0

ARP : 地址解析协议,基于二层进行数据封装的--封装于数据帧中

AARP:正向ARP

RARR:反向ARP

InARP:逆向ARP,在FR中使用

G-ARP:免费ARP,进行地址冲突检测的

Proxy-ARP:代理ARP         proxy--代理---不在同一网段才会代理

私有IP地址:

10.0.0.0/8   172.16.0.0—172.31.255.255   192.168.0.0—192.168.255.255

数据传输过程

数据封装过程

解封装过程

补充:Ping(ICMP) 、traceroute  debug等工具排错

Ping是个应用程序,它的作用及工作原理

目的:测试网络层的连通性 (在网络层模拟应用的双向通信)

工作原理: 1、发送ICMP的echo request

2、ICMP被IP封装,中间网络设备看到的是IP包

3、目标主机接收到echo request发送echo reply

40. TCP 和UDP 的区别

1、连接bai方面区别

TCP面向连接(如打电话要先拨号du建立zhi连接)。

UDP是无连接的,即发dao送数据之前不需要建立连接。

2、安全方面的区别

TCP提供可靠的服务,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。

UDP尽最大努力交付,即不保证可靠交付。

3、传输效率的区别

TCP传输效率相对较低。

UDP传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。

4、连接对象数量的区别

TCP连接只能是点到点、一对一的。

UDP支持一对一,一对多,多对一和多对多的交互通信。

41. Get/post的区别

get是从服务器上获取数据,post是向服务器传送数据。

get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

42. Web测试和app测试的区别

根据两者载体不一样,则区别如下:

系统结构方面

web项目,b/s架构,基于的;web测试只要更新了服务器端,客户端就会同步会更新。

app项目,c/s结构的,必须要有客户端;app 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍。

性能方面

web项目 需监测 响应时间、CPU、Memory

app项目 除了监测 响应时间、CPU、Memory外,还需监测 流量、电量等

兼容方面

(1)web项目:

1. 浏览器(火狐、、IE等)

2. (Windows7、Windows10、等)

(2)app项目:

1. 设备系统:iOS(ipad、)、(、、联想等) 、(Win7、Win8)、OSX(Mac)

2. 设备可根据 手机型号、分辨率不同

相对于 Wed 项目,APP有专项测试

1. 干扰测试:中断,来电,,关机,重启等

2. 弱网络测试(模拟2g、3g、4g,wifi网络状态以及丢包情况);网络切换测试(网络断开后重连、3g切换到4g/wifi 等)

3. 安装、更新、卸载

安装:需考虑安装时的中断、弱网、安装后删除安装文件等情况

卸载:需考虑 卸载后是否删除app相关的文件

更新:分强制更新、非强制更新、增量包更新、断点续传、弱网状态下更新

4. 界面操作:关于手机端测试,需注意手势,横竖屏切换,多点触控,前后台切换

5. :安装包是否可反编译代码、安装包是否签名、权限设置,例如访问通讯录等

6. 边界测试:可用存储空间少、没有SD卡/双SD卡、飞行模式、系统时间有误、第三方依赖(QQ、微信登录)等

7. 权限测试:设置某个App是否可以获取该权限,例如是否可访问通讯录、相册、照相机等

测试工具方面

自动化工具:APP 一般使用 Appium; Web 一般使用

工具:APP 一般使用 JMeter; Web 一般使用 LR、JMeter

43. 给你一个网站你如何张开测试

① 首先,查找需求说明、网站设计 m 等相关文档,分析测试需求。 

制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:

功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试

② 设计测试用例:

功能性测试可以包括,但不限于以下几个方面:

链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。

③ 提交功能的测试。

多媒体元素是否可以正确加载和显示。

多语言支持是否能够正确显示选择的语言等。

④ 界面测试可以包括但不限于以下几个方面:

页面是否风格统一,美观;页面布局是否合理,重点内容和热点内容是否突出;控件是否正常使用;对于必须但为安装的空间,是否提供自动下载并安装的功能;文字检查

⑤ 性能测试一般从以下两个方面考虑:

压力测试;负载测试;强度测试

数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。

⑥ 安全性测试:

1 基本的登录功能的检查 2 是否存在溢出错误,导致系统崩溃或者权限泄露 3 相关开发语言的常见安全性问题检查,例如 SQL 注入等。4 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持

⑦ 兼容性测试,根据需求说明的内容,确定支持的平台组合:浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数据库的兼容性

开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。定期评审,对测试进行评估和总结,调整测试的内容。

3. 在搜索引擎中输入汉字就可以解析 到对应的域名,请问如何用 rLoadRunner 进行测试。

建立测试计划,确定测试标准和测试范围

设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等

4. 根据测试用例,开发自动测试脚本和场景:

录制测试脚本

新建一个脚本(Web/HTML 协议),点击录制按钮,在弹出的对话框的 URL 中输入”about:blank”。在打开的浏览器中进行正常操作流程后,结束录制。调试脚本并保存。可能要注意到字符集的关联。

设置测试场景

针对性能设置测试场景,主要判断在正常情况下,系统的平均事务响应时间是否达标; 针对压力负载设置测试场景,主要判断在长时间处于满负荷或者超出系统承载能力的条件下,系统是否会崩溃。

执行测试,获取测试结果,分析测试结果

5. 问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? ?

300 个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。

线程之间可能发生干扰,而产生一些异常。

300 个用户在一个客户端上,需要更大的带宽。

IP 地址的问题,可能需要使用 IP Spoof 来绕过服务器对于单一 IP 地址最大连接数的限制。

所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

6. 试述软件的概念和特点?软件复用的含义?构件包括哪些?

软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。

软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、

体系结构、需求、设计、代码和文档等一切有关方面。

可以被复用的软件成分一般称作可复用构件

7. 软件生存周期及其模型是什么?

软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为”生命周期模型”(Life Cycle Model)。

44. 支付模块的测试如何展开

45.如何在jinkens中实现打包并集成测试

46.  全量包 灰度包 debug包 的区别

上一篇下一篇

猜你喜欢

热点阅读