自动化测试,UI测试和接口测试的基本概念以及指令

今天小枫跟大家介绍UI测试、接口测试、单元测试主要内容

UI测试【Selenium】

UI测试是最接近软件真实用户使用行为的测试类型。通常是模拟真实用户使用软件的行为,即模拟用户在软件界面上的各种操作,并验证这些操作对应的结果是否正确。

这是最基本的一些Selenium的指令

```

#浏览器操作

#浏览器最大化

driver.maximize_window()

#设置浏览器宽和高

driver.set_window_size(400,800)

#控制浏览器前进、后退

driver.forward()

driver.back()

#简单对象的定位

find_element_by_id()#----唯一

find_element_by_name()#----唯一

find_element_by_class_name()#class定位

find_element_by_xpath()#元素定位

find_element_by_css_selector()

#鼠标事件

#ActionChains类用来操作鼠标事件

context_click()#------------------鼠标右击

double_click()#------------------鼠标双击

click()#-----------------------------鼠标点击

click_and_hold()#---------------按住鼠标左键不动

move_to_element(目标元素)#------------------------移动到某个元素

move_by_offset(xoffset,yoffset)#--------------------移动到某个坐标

drag_and_drop(source,target)#------将元素从起点source移动到终点target

drag_and_drop_by_offset(source,xoffset,yoffset)#-------按照坐标移动

release()# 在某个元素上释放鼠标

```

接口测试【API测试】

API测试,主要针对的是各模块暴露的接口,通常采用灰盒测试方法。首先以黑盒方式设计如何调用API的测试用例,同时在测试执行过程中统计代码覆盖率,然后根据代码覆盖率情况来补充更多、更有针对性的测试用例。

单元测试

单元测试,属于白盒测试的范畴,通常由开发工程师自己完成,越早发现缺陷其修复成本越低。

如果对软件测试、接口测试、自动化测试、面试经验交流。感兴趣可以加软件测试交流:1140267353,还会有同行一起技术交流(免费学习资料)。

```

#内存的主要组成索引:

ONative Heap: Native#代码分配的内存,虚拟机和Adoid框架本身也会分配

ODalvik Heap: Java #代码分配的对象

ODalvik Other:#类的数据结构和索引

0 so mmap: Native #代码和常量

0 dex mmap: Java #代码和常量

#内存工具:

口Android Studio/Memory Monitor#观察Dalvik内存

0 dumpsys meminfo#观察整体内存

0 smaps#观察整体内存的详细组成

0 Eclipse Memory Analyzer#详细分析Dalvik内存

```


 每种测试的优缺点


一、UI自动化测试

大家所在公司都属于互联网公司,最大的特点就是快——产品需要不停的迭代,迭代时间基本在15天左右。

UI自动化测试的优点是,能够实际模拟真实用户的行为,直接验证软件的商业价值;缺点是用例的维护和执行代价很大。另外,UI自动化测试的稳定性问题,是长期以来阻碍GUI测试发展的重要原因。

在快速迭代的情况下,页面的改动可能会很频繁,而UI自动化测试本身基于页面元素,前端小小的改动可能需要测试的大大改。

二、接口测试

相比于UI自动化测试,接口测试更稳定,更具有价值。

效率。接口测试是通过测试数据验证请求【request】与响应【response】是否符合预期。因此,接口测试开发和调试的效率会比ui自动化测试高很多。

稳定性。如果接口改动,那基本属于业务重新设计。所以接口测试用例执行的稳定性很高。

实用性。UI自动化测试验证的主要是页面显示,而接口测试验证的主要是数据。在当前开发水平下,功能测试基本可以完全验证页面显示的问题,所以UI测试有点类似于“这些没问题了,为了保证一直没问题,所以要写UI自动化,每天去执行”。接口测试则是对接口返回数据的验证,开发在开发新的接口时涉及到接口互相的调用,中间难免出现比如数据类型、key-value不匹配的情况,因此在实用性考虑,接口测试实用性更高。

三、单元测试

我们在做非功能测试时,可以利用UI自动化测试,覆盖产品主要或者说关键流程(包含兼容性测试),也就是说只要保证主要流程不出错,剩下的即使有了问题也不会影响产品的正常使用。把时间更多的放在接口测试用例的设计和实现上,保证数据的准确性。单元测试则可以根据情况选择时间分配。


以上仅供参考和借鉴,希望对你有所帮助!

小枫文章整理不易,欢迎各位朋友点赞!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。