环境部署

本人使用Windows 搭建 Apache+MySQL+PHP 环境(WAMP),推荐新手使用phpstudy​:https://www.xp.cn/download.html https://www.xp.cn/download.html

环境部署参考文章:https://blog.csdn.net/siyinging/article/details/147615169

注:在mysql配置文件中添加兼容配置sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

SQL练习

增删查改

查询

SELECT * FROM `tp_admin` WHERE `email`="1744892419@qq.com";

SELECT * FROM `tp_admin` WHERE `user_name` LIKE "%admin%";

插入

INSERT INTO tp_admin (`user_name`, `email`, `password`) VALUES ('2201', '163.com', '1234');

更新

UPDATE `tp_admin` SET `user_name`="2202" WHERE `email`="163.com"

删除

DELETE FROM `tp_admin` 	WHERE `email`="163.com";

Linux练习

显示当前路径 pwd

显示当前目录文件夹 ls 

切换当前路径 cd 

查看日志(短日志)cat xx.log

查看日志(默认最后十条)tail xx.log

查看日志最后3条 tail -n 3 xx.log

实时监控日志 tail -f xx.log  (取消监控 ctrl+c)

搜索日志中包含关键词的行内容 grep " " xx.log

搜索日志中包含关键词的行号 grep -n '' '' xx.log

功能测试

以小红书首页为例

Xmind提取测试点

依据原则:由大到小,从上至下,按模块划分,从用户操作层面考虑功能点。

1. 正向流程

  • 登录后,对一篇笔记点击点赞

  • 在笔记详情页双击屏幕点赞

  • 查看已点赞笔记的列表

2. 反向操作

  • 取消点赞(点击已点赞状态)

  • 取消后重新点赞

3. 异常情况

  • 连续快速点击点赞按钮

  • 点赞时断网,恢复网络后状态同步

  • 在别人已删除的笔记上尝试点赞

4. 边界极限

  • 对同一篇笔记反复点赞/取消点赞100次

  • 在短时间内对不同笔记点赞50篇(测试频率限制)

5. 关联影响

  • 点赞后,笔记的点赞数是否立即+1?

  • 点赞后,作者是否收到通知?

  • 点赞后,在我的“赞过”列表中能否看到?

  • 点赞后,在首页的推荐流中,相似笔记是否变多?

 

编写测试用例

依照testin众测的用例格式进行编写:

tips:用户的操作步骤就是一个功能点:点击,双击,滑动,长按,拖动,对应的功能测试要根据为用户提供的功能点进行展开。

接口测试

使用开源网站https://kdtx-test.itheima.net/#/login  (admin   HM_2023_test)

采用Postman进行测试获取验证码和登录模块

编写接口测试用例

项目接口文档:

根据接口文档编写正向用例:

Postman执行测试

手动输入验证码唯一识别码uuid:

再次Send: uuid已失效

设置变量并自动传参:

注意:占位符{{}}传递变量会优先将变量名识别(在Send之前),满足JSON语法格式加上双引号“”,不会将“{{}}”识别为字符串{{}}。

自动化测试

接口自动化测试

以网站的“查询课程列表”接口测试为例:

写request获取登录接口的Token,代码逻辑同下,这里直接F12截取:

先写一个简单的自动测试接口逻辑:

请求体数据根据接口文档可选,此处仅以"name"搜索:

import requests

base_url="https://kdtx-test.itheima.net/"
endpoint="api/clues/course/list"
url=base_url+endpoint

headers= {"Authorization":"Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijc2OTEzZWYxLWJkZTktNDFlNS1hMTMyLWQ5YjMwYWJiNDhkZCJ9.tD7RxgUv_bm-CAweXaJIqFbeU6tfBHu1ubVvc9BdEIbVVXe5YO9xZjWblHiPGRkW00vcEFUZ7Uxe3ivWiKXLSw"

}
search_data={
    "name":"java"
}

response=requests.get(url,params=search_data,headers=headers)

print("网站回复状态码:",response.status_code)
print("网站回复内容:",response.text)

封装为RequestsUtil工具:

import requests

class RequestsUtil:
    def __init__(self,base_url,token):
        self.base_url=base_url
        self.token=token
        self.headers={
            "Content-Type":"application/json",
            "Authorization":f"Bearer {token}"
        }
        self.session=requests.Session()

    def send(self,endpoint,method,**kwargs):
        url=self.base_url+endpoint
        response=self.session.request(
            method=method,
            url=url,
            headers=self.headers,
            **kwargs
            )
        return response
    
    def get(self,endpoint,params=None):
        return self.send(endpoint,"get",params=params)

search_data={
    "code":"sp2qo66q",
    "name":"java"
}

#测试
#tools=RequestsUtil("https://kdtx-#test.itheima.net/","eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjU1YWIzN2RiLWU3NzMtNGQ#wNy1iYTc1LTU3YmJjYjVmNDY3OCJ9.Qbc7nIisdrtx3tKDksIYraYoFymH8feIb6PhhXfcuKUDGitux44NHlUqKD#TGRdl0rmdtJ6hXGHzFBj7dgjHRsg")
#response=tools.get("api/clues/course/list",search_data)

#print("网站回复状态码:",response.status_code)
#print("网站回复内容:",response.text)

 

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐