欢迎来到三人行教育网,代理招生网站!

广元切换城市

咨询热线 400-6169-615

位置:三人行教育网,代理招生网站 > 广元新闻资讯 > 广元教育新闻 >  广元达内软件测试培训课程

广元达内软件测试培训课程

来源:三人行教育网,代理招生网站

2021-10-17 15:01:23|已浏览:26次

广元达内软件测试培训课程
达内软件测试培训广州云计算中心地址:广州市天河区天源路五号之三,天河新天地C座六楼;地铁天河客运站D口
.


软件测试环境的搭建

测试环境是QA开展测试工作的前置条件。稳定和可控的测试环境,可以使测试人员在执行测试用例时无需花费额外的时间去维护。有些公司运维或者研发部门会帮忙准备好测试环境,但是QA如果一味依赖其他部门,会局限测试工作的开展。
一、什么是测试环境
测试环境,指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,简而言之,测试环境=硬件+软件+网络+数据准备+测试工具。
硬件:指测试必需的服务器、客户端、网络连接等辅助设备。
软件:指测试软件运行时的操作系统、数据库及其他应用软件。
网络:指被测软件运行时的网络系统、网络结构以及其他网络设备构成的环境等。
数据准备:一般指测试数据的准备。测试数据会在测试用例设计的阶段设计好,然后软件运行的时候,作为软件输入去验证软件功能。如果是少量、正常的测试数据,可以直接通过手动方式模拟出来,如果是大量的用户数据的模拟,可以借助测试工具来构建。
测试工具:工具是辅助测试的好帮手,针对将要做的测试类型,可选择合适的工具让我们的测试事半功倍。比如接口测试,可以选择Jmeter或者postman;抓包工具,可以选择fiddler,wireshark等。
二、搭建测试环境的原则
1、真实
要求测试人员尽量模拟用户的真实使用环境。我们应该选用合适的操作系统和软件平台,了解符合测试软件运行的最低要求及用户使用的硬件配置,考虑到与其他软件共存时,是否能正常运行等。
2、无毒
若搭建的测试环境感染病毒,会导致测试软件经常出现莫名的崩溃,运行不起来等现象,导致测试中断。使用正版杀毒软件防止病毒感染测试环境,保证无毒环境。
3、独立
测试过程中要确保我们的测试环境独立,避免测试环境被占用,影响测试进度及测试结果。有时开发人员为确定问题会使用我们的测试环境,这样会打乱我们的测试活动。为避免这种情况,测试环境与开发环境应相互独立,开发人员根据缺陷表单,在开发环境中复现和定位问题。
4、可复用
当我们刚搭建好测试环境,安装测试软件之前及测试过程中,对操作系统及测试环境进行备份是必要的。在当测试环境遭到破坏时,可以恢复测试环境,避免测试数据丢失,出现不可预知的问题。
三、如何搭建测试环境
1、认识LNMT架构
这里主要介绍测试环境服务端的部署。不同公司的服务端部署都不一样。互联网公司比较典型的部署框架LNMT(Linux+Nginx+Mysql+Tomcat)如下图:
浏览器和APP端是通过HTTP协议跟服务器进行交互的。
Nginx,有些公司也用Apache。这是常用的HTTP服务器和反向代理服务器。Nginx是用来提供静态资源的服务,Nginx接收到来自浏览器的请求以后,判断这个请求是否是静态资源(以JS、CSS、HTML、PNG等结尾的静态文件),如果是,则Nginx直接返回相应文件;如果不是静态资源,是动态请求,比如,请求某一个日志的内容,则Nginx会把请求转发给Tomcat来处理。
Tomcat,是处理动态的HTTP请求,调用各种其他服务,完成相应的任务,并返回HTTP响应给Nginx。如果涉及到写日志、读日志等数据相关的操作,就需要对数据库进行读写。另外,由于这些动态请求也会依赖一些第三方服务,比如说要调用支付宝的支付服务,那么它就会再发起一个HTTP请求到支付宝的对外服务器。它处理完整个逻辑之后,就会把相应的内容返回给Nginx,然后由Nginx返回给浏览器。
Mysql数据库,将各种数据有序的管理起来,并对其他应用提供统一的接口和服务。
2、LNMT架构部署
此处主要介绍搭建环境的思路,更详细的配置步骤不再赘述。
1)申请虚拟机器
申请两台虚拟机A和B,机器A作为Nginx服务器+Mysql服务器;机器B作为2台Tomcat服务器。
2)在机器A上安装和配置Nginx
下载并安装Nginx
配置环境变量
启动Nginx
3)在机器A上安装Mysql
下载安装包并解压
添加环境变量
初始化数据库
启动Mysql4)在机器B上部署两台Tomcat
关闭防火墙和selinux
安装jdk环境
下载Tomcat并解压两次,目录不同
两台Tomcat建立软链接
修改其中一台Tomcat的配置文件server、xml,避免端口冲突。server、xml配置的是地址、端口、最大连接数、编译好的应用程序目录等信息
启动Tomcat服务
验证部署成功,即浏览器输入ip地址+端口号能成功访问5)配置Nginx
配置负载均衡和两个Tomcat的反向代理
检查语法并加载Nginx
验证配置成功
总结
对于测试人员来说,对于这一整个机制需要理解,比如,各个工具的作用是什么,各个配置文件的意义是什么,各块的配置是怎么连起来的。
在搭建测试环境的过程中要多跟开发、运维沟通。测试环境的搭建和维护处在重要的位置,它的好坏直接影响测试结果的真实性和准确性。维护测试环境需要大量的精力,不是一个人能完成的,需要我们大家积极配合。软件测试培训网格言:世界上最快而又最慢,最长而又最短,最平凡而又最珍贵,最易被忽视而又最令人后悔的就是时间。——高尔基.
广元达内软件测试培训课程



软件测试培训网格言:荒废时间等于荒废生命。——川端康成.
面向对象编写测试用例

前言
测试用例和测试点是相辅相成的,测试点是属于思路性质的,测试用例是属于在实际的工作中具体怎么进行测试的一个依据。一般情况下,用例编写时,我建议把用例中有公用的部分,提取出来写到一块,有特性的部分,单独去写。
这样用例的结构大概是这样的一个效果:通用部分+特性部分+其他特性。主要内容也可以分为:正常+异常点。坚决要避免的是照着需求文档,一个功能一个功能的写。也就是需求文档有个按钮,我写个按钮,有个输入框我写个输入框。我们在写用例时,要考虑的方面有很多,下面详细的说明一下,我这里有两个思路,可以供大家参考。
A角度:
正常、异常、排列组合-正常异常关联功能、对应功能的测试特性、核心点、业务端-APP/web端特性、性能、安全等。
下面以登陆页面(用户名输入框、密码输入框、登陆按钮)为例详细说明
正常条件就不解释了,就是正常用户名和密码点击登陆按钮。
异常里面包含常见的测试点,比如输入框的长度、特殊符号、为空等异常场景。
另外排列组合了,比如:正确的用户名和错误的密码,点击登陆后的效果,或者都是错误的,登陆后的效果。或者跟注册模块的管理,使用确的用户密码登陆后的跳转页面。
再说一下这个登陆页面的测试特性,首先登陆一般都会限制错误重试次数,如果次数超过限制一般都会提高验证的难度,比较常见的就是拉勾。连续输入多次密码错误,会有滑块验证码等。
就是安全性,这方面可以考虑对输入框,进行XSS的测试,也就是在输入框中输入JS代码,比如:alert(1),如果能够执行,那么就是存在XSS注入风险,如果用户写的是复杂的、恶意的JS代码就可以执行了。
再从核心点这方面来说,这是登陆页面,那登陆功能就是他的核心点,能让正常的用户登陆成功,让登陆失败的用户有一个清晰的认识哪里需要改正,都是这个地方的关键点,对应到测试点上就是登陆失败的错误提示文案,要清晰,比如在用户名或者密码错误输错超过3次后,就要限制用户登陆尝试,要及时的告诉用户,而不是在用户无意中操作了3次后,直接限制。
最后一点就是关于对应端的特性了,一般情况下,在不同的APP端进行登陆后,都会有一个手机登陆状态,也就是你在A手机登陆,B手机再登陆会自动踢掉A手机的登陆。或者APP端一般登陆都有一个有效期,比如说30天,会被自动登出。这些都算是端的特性。
性能方面这里考虑2种瞬间并发压测登陆接口,以及长期稳定性的压测。
当然安全测试里面还有SQL注入等类型,因为工作中接触不多,就不再详细的解释了。而安全测试中-越权测试一般在一些有多个角色或者不同身份的系统做的会比较多。
比如A、B角色都能够查看自己账号余额,如果通过fiddler抓包后,修改B账号的header里面的sessionid或者其他的代表B身份信息为A账号的,能够查看到A账号的账号余额,那么这里就认为存在越权bug。
B角度:
5W1H-(whenwherewhywhatwho+how)也就是时间、地点、人物、原因、怎么做、做什么。
这种的一般都是针对一些不是常规的功能,比如面试题中:电梯、水杯、地铁线路、红包等之类。
以面试题中比较常见的电梯为例,这里以单台电梯为例。
从时间角度需要考虑的点:坐电梯用多久,等电梯用多久。什么时间段可以做电梯。
从地点角度需要考虑的点:电梯开门到一半是否可以进去,从哪一层电梯可以坐到那一层,最下面一层是否可以往下坐电梯,最上面一层是否可以往上做电梯。在电梯里面不按按钮,电梯是否会上下动,如果有其他楼层的人按向上或者向下,电梯是否会直接走到对应的楼层。
从人物角度:可以站几个人,如果坐着是否可以,如果放货的货梯,乘人是否可以。客梯是否可以放货物,如果载重为1000KG,限乘10人,但是有超重的,是否有提示。或者有不超重的,是否可以继续上人。在电梯里面如果多人混乘的情况下,从1楼上电梯,一开始有几个人没有按按钮,其他人按的位置是顶层,往上走,这个时候,如果有人按地下室,是否电梯会往下走。如果电梯现在已经经过2楼,按2楼是否会打开门,按3楼是否会打开。按1楼的话,按钮有反应吗。如果在电梯外面的人,也做同样的事情,这些情况下,分别的解决方案是啥。
从原因角度:这个暂时没想到。
从怎么做角度:在电梯停稳后,进入电梯,在没有停稳时进入电梯,进入电梯有人蹦跳是否会紧急制动,在电梯内所有的电梯按钮都点,多次点击。或者是1楼超载后,在2楼下去人,再上来人不超载,电梯会不会报警。
当然还有其他更好的手段,也欢迎大家提出建议,但是面试有的一些测试题,或者工作中有些任务是一些算法相关的逻辑题,如果从常规的角度进行思考问题,就会出现跑偏的情况,这种时候,需要大家去按照正常的逻辑思维方式去解题,而不是按照前面的介绍的思路。软件测试培训机构达内经典语录:每一个成功者都有一个开始。勇于开始,才能找到成功的路。。


广元达内软件测试培训课程
软件测试培训达内荣誉:2011年8月,获得《经济观察报》评选的中国教育行 业TOP10强企业
。性能测试会遇到哪些问题?

做任何事情,事前有准备就可以成功,没有准备就会失败。说话先有准备,就不会词穷理屈站不住脚;行事前计划先有定夺,就不会发生错误或后悔的事。
一、 在测试工作启动前
(1)没有对测试背景和当前项目情况进行足够的了解。
因为没有对项目当前情况有足够的了解,所以在心中形成了一个错误的测试方案(即分别通过接口压测的方式对两套相同配置不同项目版本的服务进行测试。),但实际上测试环境仅有当前一套测试环境且部署的为新版本服务。
二、 在测试工作启动初期
(1)没有搞清测试目标
因为没有搞清测试目标,所以没有明确测试方向,不明确测试所需着重记录的参数,就更不能有针对性的对其进行测试并获取目标参数。
(2)没有制定明确的测试计划
因为没有制定测试计划,所以在测试工作执行在执行时时间分配错乱,没有明确测试操作的方案导致方案多次变动,延误工期。
三、 测试启动中期
(1)将工作重心放在了脚本编写
将过多的精力投入在了脚本编写中,为给调试和其他环节预留出时间。测试不只写完脚本即万事大吉,这只是众多环节中的一环,需环环相扣,每一环都顺利完成才能完成一次测试。
(2)测试脚本没有进行真实调试,对脚本所使用的模块不求甚解
每次测试脚本编写完成后,仅对脚本功能进行了验证。也就是只保证了功能可用,但忽略了应用在测试工作中的真实场景。类似于接口压测脚本没有顾虑到各接口传输速率的问题,导致下游接口所需数据不足;数据库sql写入脚本中的线程应用也不求甚解,只学会皮毛就照猫画虎,没能理解使用的逻辑方式,所以线程模块用的乱七八糟,直接导致脚本运行失败。因为没有对脚本进行真实场景调试,所以在测试执行后 就会出现各种问题。则需要一边修改 一边调试 一边执行。大大影响工作进度。调试工作应在非工作时间进行或在进度时间范围进行。不应占用测试执行时间。
(3)多次调整测试方案
我的初始方案是针对服务进行接口性能压测,后来开发建议直接对数据库进行测试,则又开始对数据库进行测试,再对数据库的测试出现断路后,又采取了小颗粒维度对接口进行性能测试,此测试方案可行但需要大量的时间。我在采取这种方案的时候并没有预见到这种风险,显然这种高耗时的方案并不适用于我当前已延误工期的情况。最终仍回归最初的单一接口性能压测方式,完成报告。
a、因为没有计划和方案,所以选取哪种方案自我并没有一个坚定的认知很容易动摇;
b、其次因为对性能测试相关知识掌握的不足,所以在面对开发提供的各种方案都容易被动摇,认为他们说的更合理,但实际并没有对这些方案进行认真的思考和评估。
(4)没有提前做性能基准测试
因为没有在压力测试正式开始前对业务进行基准测试,所以对各个接口的基本表现没有一个大致的了解,所以出现了脚本执行中权重比例错误的低级错误。
(5)在最后一次测试时,没有对服务器进行监控
a.对linux系统操作不熟练,操作监控服务的时间成本较高
b.没有设计好具体的监控方案,不知如何更高效的监控服务器
c.对自己降低了要求
四、 测试收尾工作:
(1)出现工作冲突
应在测试工作开始前,明确测试执行时间区间,项目组内沟通,保证测试环境可正常使用。达内软件测试培训北京网络营销中心地址:北京市朝阳区南沙滩66号院1号楼3层(北沙滩桥东100米)。
广元达内软件测试培训课程



达内软件测试培训学校励志语录:有些路很远,走下去会很累,可是不走,会后悔!.
  • 相关阅读