软件测试

天天生鲜系统

更新时间:2020.08.30 视频教程
PROJECT LIBRARY

[ 自动化测试 ]

自动化测试开展的前提

 

经过多轮的手工测试,且迭代基本稳定之后,可以开展自动化测试,本项目的模块基本都可以是实现自动化测试。

自动化测试可以实现以下场景的测试:

1) 解决-回归测试

2) 解决-压力测试

3) 解决-兼容性测试

4) 提高测试效率,保证产品质量

备注:

回归测试:项目在发新版本之后对项目之前的功能进行验证;

压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力 ;

兼容性测试:不同浏览器(IE、Firefox、Chrome)等等。

自动化测试的开始节点

 

自动化测试的时间节点是功能测试中冒烟测试全部通过且主功能遗留bug数量为0,测试用例中的一级功能不允许遗留测试等级为严重及以上的bug,二级用例中可以遗留几个(一般<=5个)严重程度为一般的bug,在这个标准的前提下,我们视系统基本达到稳定,可以进入到自动化测试环节。

项目架构分析

 

天天生鲜项目框架目录

(1)Buyer 项目消费者模块

migrations 消费者数据库同步记录目录

templates 消费者模板文件目录

init 消费者应用包文件

admin 消费者后台管理文件

apps 消费者应用管理文件

models 消费者应用模型文件

tests 消费者应用单元测试文件

views 消费者应用功能视图文件

(2) QUser 项目用户模块

migrations 用户模块数据库同步记录目录

templates 用户模板文件目录

init 用户模块应用包文件

admin 用户模块后台管理文件

apps 用户模块应用管理文件

models 用户模块应用模型文件

tests 用户模块应用单元测试文件

views 用户模块应用功能视图文件

(3) QStore 项目店铺模块

migrations 店铺数据库同步记录目录

templates 店铺模板文件目录

init 店铺应用包文件

admin 店铺后台管理文件

apps 店铺应用管理文件

models 店铺应用模型文件

tests 店铺应用单元测试文件

views 店铺应用功能视图文件

(4)static 项目静态文件目录

buyer 消费者静态文件目录

quser 用户静态文件目录

store 店铺静态文件目录

(5)db.sqlite3 项目便携sqlite数据库

(6)manage.py 项目管理文件

环境部署

 
预备工作

python 3.5及以上版本

pycharm

浏览器(推荐Firefox和Chrome)

Windows7/10

Selenium 2.0版本 (1)setuptools (2)pip (3)selenium2.0版本(2.48.0)

安装Python3.5及以上版本

下载地址:https://www.python.org/downloads/release/python-371/ 下的Windows x86-64 executable installer

安装pycharm

下载地址:http://www.jetbrains.com/pycharm/download/#section=windows)

安装Firefox

推荐Firefox35.1.0版本

安装完成后需禁止火狐的自动更新

菜单--选项—>高级

勾选不检查更新,其他选项不勾选

安装setuptools

下载setuptools-40.5.0.zip https://pypi.org/project/setuptools/

1、解压到Python安装目录d:\software\python\scripts下,进入到setuptools文件夹,按住shift键后右击,在此处打开命令窗口

2、输入python setup.py install 回车,

3、安装成功后。新开一个命令窗输入easy_install回车,没有提示easy_install不是内部或外部命令,则安装成功,如果提示了,检查环境变量

2.2.2.6安装pip

Pip是通用的Python包管理工具。提供了对Python包的查找、下载、安装、卸载的功能

下载pip压缩包pip-18.1.tar.gz

地址:https://pypi.org/project/pip

安装Selenium

说明,在安装selenium时,前提是Python安装完毕且能正常运行 安装:在命令窗口输入:

pip install selenium==2.48.0

卸载:

pip uninstall selenium

查看:

pip show selenium

用例及脚本设计

 

自动化测试流程其实跟手工测试流程差不太多,要先编写测试用例,只是被叫作自动化测试用例而已。先设计好自动化测试用例,再严格根据设计完成的测试用例编写测试脚本,这是一种规律、一个过程。此过程产出物为自动化测试用例。

自动化测试用例设计和手工测试用例设计是有明显区别的,手工测试用例是从无到有的过程,而自动化测试用例不是的。自动化测试用例是有参考物的,它就是手工测试用例。它有时候可以直接拿来用、有时候需要稍加修改,在此把整个自动化测试用例设计过程分为 3 步:

筛选手工测试用例的过程。

转换手工测试用例的过程。一般转换要素无非两种,一种就是测试用例的格式和规则,另一种就是优化自动化测试业务流程。自动化测试业务流程和手工测。试业务流程还是有一定区别的,自动化测试业务流程更精简、严格。

新增&补充自动化测试用例的过程。

设计样例如下所示:

通过可行性分析和用例设计后,接下来需要做一个demo ,等待 demo 完成后,可以再次通过分析自动化测试工作能否顺利地开展下去,因为 demo 已经是一个实体案例,所以,可以完全通过透析 demo 来发现是否存在技术上的致命问题。通常在 demo 完成之后,有经验的自动化测试工程师或组长就能对这个项目的自动化测试工作有一个大体的把握了。一旦通过了抽样 demo 分析,自动化测试就可以展开了。关于 demo 的选取,一般直接选择冒烟测试用例(大冒烟)写成测试脚本后执行,检查脚本是否能够成功运行通过,已设计的测试点是否全部执行到即可。

设计样例如下所示:

测试框架

 

UnitTest框架是专门用来进行执行代码测试的框架,具有以下功能:

1) 能够组织多个用例去执行

2) 提供丰富的断言方法(稍后讲解)

3) 提供丰富的日志与测试结果

UnitTest核心要素包括:

1)TestCase

2)TestSuite

3)TextTestRunner

4)Fixture

执行测试

 

测试脚本的执行主要包含如下内容:

· 测试环境的管理配置

· 测试脚本配置

· 测试脚本的执行

· 测试异常中断处理和恢复

通过代码中断言的处理实时抓取日志,截取错误图片。断言部分的截取的图片如下图所示:

自动生成测试报告

 

执行完自动化测试脚本后,自动生成一份测试报告。

Export Test Results (UnitTest 自带)

HTMLTestRunner(第三方模板)

Export Test Results

执行测试用例

在控制台选择导出测试结果(export test results)

设置报告的名称和目录,点击确定即可。