标签:session tab 选择 同步 数据库访问 nsa action 手势 处理
3.测试分类系统测试包括回归测试和冒烟测试
回归测试:修改了旧的代码后,重新测试功能是否正确,有没有引入新的错误或导致其它代码产生错误
冒烟测试:目的是确认软件基本功能正常,可以进行后续的正式测试工作
按是否查看代码
白盒(结构测试、逻辑驱动测试):要查看代码,对代码测试,结构测试
黑盒(功能测试):不用查看代码,对功能进行测试 ,看是否符合用户需求
灰盒:介于黑盒白盒,多用于集成测试
按测试对象
业务测试、界面测试、容错性测试、文档测试、
兼容性测试(平台、浏览器、与其他相关软件是否兼容、向前先后兼容)、
性能测试:响应时间、吞吐量、执行间隔等、
内存泄露测试原因:
分配完内存之后没有回收
程序写法有问题,没办法进行回收
某些API函数的使用不正确,造成内存泄露
没有及时释放
单元测试是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性,测试的对象是软件设计的最小单位:函数、或者类。通常情况下是白盒的,一般由开发人员测试.能够尽早的发现错误,降低修改成本。
集成测试也称综合测试、组装测试、联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块。
系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方,主要包括功能测试、界面测试、可靠性测试、易用性测试、性能测试。 功能测试主要针对包括功能可用性、功能实现程度(功能流程&业务流程、数据处理&业务数据处理)方面测试。在集成测试之后。 在系统实际运行环境下来进行测试。
- 单元测试粒度最小,测试的是软件的基本模块或接口
- 集成测试粒度居中,测试的是集成各个单元模块之间的接口
- 系统测试粒度最大,测试的是 整个系统的功能和性能
- 单元测试一般由开发小组采用白盒方式来测试;
- 集成测试一般由开发小组采用白盒加黑盒的方式来测试;
- 系统测试一般由独立测试小组采用黑盒方式来测试。
- 单元测试主要测试单元是否符合“设计”;
- 集成测试既验证“设计’,又验证“需求”;偏技术
- 系统测试主要测试系统是否符合“需求规格说明书”,偏业务
使用阶段不同:
- 单元测试为开发人员在开发阶段要做的事情;
- 集成测试和系统测试为测试人员在测试周期内级层做的工作。
也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。
缺点:耗费比较大;不能检测到代码中遗漏的逻辑;不能直接验证需求的正确性
指标:响应时间(RT)、每秒能完成的响应数(TPS)、CPU利用率、内存占用、网络(带宽使用率)、手机app的话还考虑耗电量……
考虑负载加大时,各项指标如何变化,联网的考虑各种不同的网络环境(正常网、超快网、网速慢、断网)时指标的变化
? 通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网络带宽。
在线用户数:用户同时在一定时间段的在线数量
并发用户数:某一时刻同时向服务器发送请求的用户数
(在线用户只要在线就好了,并发用户计算的是和服务器有交流的用户,一般比例5%-20%)
功能测试:关注功能正常(包含兼容性测试),除了下面分类都测;
性能测试:关注(比如前端性能、后端性能);
安全测试:关注传输、存储等安全;
特性测试:特性指平台差异(即部分兼容性测试),如PC端鼠标,键盘操作特性(Tab键等);如手机触屏操作,横竖屏,中断恢复(来电)等
1.学习项目所有的文档
2.参加所有会议
3.了解公司的项目管理工具
4.学习用例、缺陷书写规范,工具的使用规范
5.积极主动和负责人以及项目组的人员沟通
(1)自查,是否bug描述不清楚 (2)检查缺陷级别。定级要有理有据
(3)让研发站在用户的角度了解bug可能给用户造成的困扰
(4)提高自身的业务水平和技术能力,最好能提出解决方案
(5)好好沟通,不要争吵
(6)需求变更
(7)寻求第三方的帮助,发起Bug评审。
1.首先是web和APP的区别:
- web是b/s架构的,基于浏览器;
-APP是c/s架构的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。
- Web测试中只要更新了服务器,客户端就会同步更新,而且保证每个用户用的客户端一样;
- App就不能保证完全一致,因为App客户端需要用户主动更新.
-如果App测试中修改了服务器,就意味着客户端用户使用的所有核心版本都要进行回归测试
2.性能方面:
- web主要看响应速度,响应时间;
- App还看电量、流量、CPU、GPU(图形处理器)、内存…
3.兼容方面:
web基于浏览器,主要看电脑硬件、电脑系统、浏览器(主要)方面的兼容,选择不同浏览器内核进行测试IE\Chrome\Firefox;
App依赖于手机或平板,关注的系统主要是安卓和ios,还要关心分辨率、屏幕尺寸
4.App比web测试多一些专项测试:
- 相比较web测试,app更是多了一些专项测试:弱网测试,安装、卸载、更新,界面操作、触摸手势等
- 一些异常场景的考虑以及弱网络测试。这里的异常场景就是中断,来电,短信,关机,重启等。
- 而弱网测试是App测试中必须执行的一项测试。包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。需要测试丢包,延时的处理机制。避免用户的流失。
- 安装、卸载、更新:
- web测试是基于浏览器的所以不必考虑这些。而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件,更新的强制更新与非强制更新、增量包更新、断点续传、弱网,卸载后删除App相关的文件等等。
- 界面操作
- 现在app产品的用户都是使用的触摸屏手机,所以测试的时候还要注意手势,横竖屏切换,多点触控,事件触发区域等测试。
(角度)
功能:
性能:响应速度、CPU占用,联网的话考虑多用户并发/弱网环境,app的话考虑耗电量
易用性
兼容性:多平台/多系统/多版本
安全:用户名密码有没有保存功能,数据往服务器传是不是加密的,有没有防止一些脚本或者SQL注入***
UI:符合大众期望,有无错别字,排版和颜色搭配
稳定性:压力测试、极端条件测试
(查看产品的使用说明书)
功能性,可靠性,易用性,效率,维护性,可移植性
-功能性:用户要求的功能是否正确实现
-可靠性:在规定的时间和条件下。软件维持性能水平的程度
-易用性:对用户使用的友善性,使用是否方便
-效率性:能否在完成功能的同时,节约资源
-可维护:当需求改变或软件环境发生改变时,对软件修改的难易程度
-可移植:从一个计算机系统或环境移动到另一个计算机系统或环境的难易程度
先import,然后webdriver模拟打开一个浏览器(初始化),获取特定的网址,然后通过获取元素模拟鼠标点击页面上的按钮(或者其他动作,比如在特定的文本框输入特定的内容),(最后quit()一下)
获取元素方法:xpath,css选择器,文本内容…..等等,比如find_element_by_xpath、find_element_by_css_selector、find_element_by_link_text
1.多平台:Firefox \Chrome\edge(MS)、IE\Safari
2.多语言:Java \python\C\C#\ruby
selenium工具集
selenium1: selenium IDE,selenium RC,selenium Grid
selenium2:selenium1+webdriver 相当于出租车司机
selenium3:做了一些更新,增加了edge和Sarafi原生驱动
3.自动化适合什么样的项目:
接口自动化:功能稳定
? 时机:后台开发完成就可以做接口自动化
Web自动化:功能稳定,界面元素稳定
? 时机:前后台都开发完成
关闭浏览器:
close:仅仅关闭浏览器
quit:关闭浏览器,清除占用的资源,释放session
QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准
用来衡量服务器的机器性能。
TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。
是软件测试结果的测量单位。
? 是指单位时间内,系统处理用户的请求数或页面数量,可以直接反映出软件的承载能力。一般来说,利用每秒钟的请求数或页面数量衡量吞吐量;从业务的角度来看,也可以用每天的访问人数或每小时处理的业务数来衡量。
标签:session tab 选择 同步 数据库访问 nsa action 手势 处理
原文地址:https://blog.51cto.com/14234228/2507346