div img根据内容填满高度_超详细的软件测试内容实战

本文详细介绍了软件测试的学习过程,强调了实战的重要性。内容涵盖术语理解、测试方法、测试模型、生命周期、需求评审、测试用例编写、Linux命令、数据库操作、探索式测试、Python实战、自动化测试等方面,提供了丰富的练习题和实战示例,旨在帮助读者全面掌握软件测试技能。
摘要由CSDN通过智能技术生成

作者:Arnold
链接:

软件测试面试​zhuanlan.zhihu.com
ec73be794d480100c1a8fe4abfc0bfdc.png
来源:知乎
很多人都拿到了不同的学习软件测试学习路线图,但是却不知道其实软件测试更多的需要实战。
谈到实战,我的发言比较具有权威性,很简单,实战的结果以什么维度去考虑,是不是需要对应的输出件。
阿里的名言:没有结果的努力全是瞎忙!!!
那么我们来分析下,软件测试的过程中,或者学习的过程中都需要输出哪些内容? 第一阶段,熟悉软件测试中的各个软件测试术语的相关概念。

40b10b63f07be378db5db7626bbe25a7.png
第二阶段,输出对应的软件测试方法及分类

6f231e410bb38f85273d3a7982342b10.png
第三阶段,软件测试的相关模型。

564d05547fe208d229257048c420ff92.png

3acb3f72f84fc6ec13225d05cfacd52a.png

46e056bc8708e1367bf857435f11ae6d.png

7fc9edb04a9eb1a8cae2227153591dbe.png
第四阶段,输出软件测试生命周期

ed59f5bedd99e4d9748f6cfb8fb6f336.png
第五阶段,需求评审,企业的第一个会议

dc39468afeb3dd775f211dd90de49931.png
第六个阶段,测试用例的输出

47dbfeed57cae11216abacfd59756786.png

a8dd4c853e6e47c71c46d5f4adb44b9f.png

f20a52737f98ee0fe8d28b5277a3bdf3.png

1de9940af4ead34a6f5ee74845b7302e.png

71971e52287f37b9d83b75c2cb9b09eb.png

c3a1e4d6fba0aca6eeb9425c3fd26554.png

89e4e19f3d6935e4766c9460a9b79ae2.png

40b05ec910caffe80f897b238d2e5883.png

946c135d98b9403bd65c146fce922430.png

954dfcbf4f6a8c2af44f1ceb03c7c9dc.png

4dfae7f09851d38394e198b63521e199.png

6986bc7cf7244aa092b3cd9cbc16c00c.png

dad765337866f5f8357bebd19ba53ba4.png

d3b5581f983b0d764fab59ff8452c4d4.png
第七个阶段:Linux相关命令

5e92f8f554f1dfc1c884fe073ebe9363.png
第八个阶段:数据库的相关练习 一、where子句练习
1.查找满足价格大于等于9的所有信息;

496459760c0eda249dbf8c60728f85f5.png
2.查找满足product_id在1002和1003之间的;

8d66d45f854f10ff95f699f6c8837fb2.png
3.查找user_id在1、3、5这三个数内的信息;

bd866b84cc70a450d1940188e2b118db.png
4.查找订单状态是已支付的信息;

f4b171992322ebe38e4f5e9ec52606fc.png
5.查找用户名类似于li开头的信息;

c7f9e4de9f1392d1a7467a081d7b019f.png
6.查找用户名中第二个字母是h的信息;

a72d3645887bcc6d7263bf71df578ba8.png
7.查找用户名中第二个字母不是h的信息;

09b6f80ad5db685d7a14d4d34278ef70.png
8.查找用户名中最后一个字母不是以i结尾的信息;

2c3ecf0998f144f8c549480b0233f277.png
9.查找价格大于8,且订单状态是已支付的信息;

a1bbf0e9d718db6876de935c52e63dec.png
10.查找用户表中user_nick为null的信息;

405ec633e3bfee82abcd21dabe24bbf3.png
11.查找用户表中user_nick不为null的信息。

6863daf1d1985b14fbccd8abe9f91488.png
二、聚合函数练习
1.查找订单表中最大的价格;查找订单表中最小的价格;

82b0a262705ce22faf96eb28f930107a.png
2.查找订单表中user_id=2的最小价格;

12a4790c045b1215586037a689520c04.png
3.分别列出订单表中user_id=2的最小价格和最大价格;

9489dca8421d502b6738ac246441d253.png
4.分别列出订单表中user_id=2的最小价格和最大价格,并把最小价格的展示结果的列名改为“min_price”;

8714e66cf8bfd9bd15f9be0bb9f1076e.png
5.求订单表的价格的平均值,求订单表中user_id=2的价格的平均值;

9bac9b64e26074836949e813f7c7fb50.png
6.分别列出订单表中user_id=2的价格的平均值、最小值、最大值;

2d0e41fd35c768a1470b97284de2ea86.png
7.求订单表中user_id=1的价格的总和;

80ec21845c528507abf7a5eb6dd35509.png
8.求订单表中user_id=1或者user_id=3的价格总和;

b227c33712fc8f5abe886286361289a5.png
第九个阶段:探索式测试

2a95d1e43d1764f6fbd50b2f55137b65.png
第十阶段:Python相关实战 1.提醒用户输入自己的英文名字,然后保存到字典中(以name为key),将用户输入的英文名字翻转,继续保存到刚才的字典中(以new_name为key)将字典中用户的正常的英文姓名赋值给变量real_name,告知客户“您的英文名字是:” + 变量,“您的英文名字翻转是:” + 字典里获取;
dict_user={} real_name=input('请输入你的英文名字:') dict_user['name']=real_name dict_user['new_name']=real_name[::-1] print("你的英文名字是:"+real_name,"你的英文名字翻转是:"+dict_user['new_name'])

20b441c3014e1fffa1c6728fdda5520a.png
2.提醒用户依次输入数学、语文、英语、综合四门的成绩,按照输入的成绩排序,告诉用户“您的最高的一门成绩是:”xx (不用告诉用户是哪一科) 1)方法一:
score=[float(input('请输入你的数学成绩:')),float(input('请输入你的语文成绩:')),float(input('请输入你的英文成绩:')),float(input('请输入你的综合成绩:'))] sorted_score=sorted(score,reverse=True) print('你的最高一门成绩是:%d'%sorted_score[0])

ef31591378742a19ee16c70f83738edb.png
2)方法二:
subjects=['数学','语文','英语','综合'] score=[] for subject in(subjects): single_score=float(input('请输入你的%s成绩:' %subject)) while single_score>100 or single_score<0: single_score=float(input('输入错误,请重新输入你的%s成绩:' %subject)) score.append(single_score) sorted_score=sorted(score,reverse=True) print('你的最高一门成绩是:%d' %sorted_score[0])

ef31591378742a19ee16c70f83738edb.png
3)方法三:
subjects=['数学','语文','英语','综合'] dict_score={} for subject in(subjects): score=(float(input('请输入你的%s成绩:' %subject))) while score>100 or score<0: score=float(input('输入有误,请重新输入你的%s成绩:'%subject)) dict_score['%s' %subject]=score max_score=max(zip(dict_score.values())) print('你最高一门的成绩是:%s' %max_score)

7f19253ef1cbaefa6be86641f275a43d.png
3.使用input让用户依次输入两个数字, 计算两个数字的和并显示。
a=float(input('请输入第一个数字:')) b=float(input('请输入第二个数字:')) print('两个数字之和是:%s' %(a+b))

1773af9d530eb7fd8fbd33e4ac1354bd.png
1.用python输出九九乘法表
for i in range(1,10): for j in range(1,i+1): print('%dx%d=%d ' %(j,i,j*i),end='') print()

1ce7e6ac4b8f9d4ef0c2f460e63f5292.png
2.猜数字游戏
代码中生成一个随机整数,然后用户输入数字后,程序提示用户的输入是高了还是低了,直到用户猜中这个数字, 游戏结束。
import random a=random.randint(0,100) b=int(input('请输入你猜的数字:')) while b!=a: if b>a: b=int(input('你猜高了,请重新猜这个数字:')) else: b=int(input('你猜低了,请重新猜这个数字:')) else: print('你猜对了,游戏结束')

fcab65ba71decc7f11335b5d4e49cbf9.png
第十二阶段:自动化测试

f00522193b53cfa3188a9144f54ff893.png
from selenium import webdriver #从selenium导入webdriver这个类 import time
driver = webdriver.Chrome() #初始化一个driver对象
driver.get( ' http://101.133.169.100/yuns/')
time.sleep(5) #xpath绝对路径 #登录
driver.find_element_by_xpath( '/html/body/div[1]/div/div[1]/a[1]').click() #免费注册
driver.find_element_by_xpath( '/html/body/div/div/div[1]/a[2]').click() #全场免运费
driver.find_element_by_xpath( '/html/body/div/div/div[2]/span[1]').click() #优惠券
driver.find_element_by_xpath( '/html/body/div[3]/div/div/a[3]').click() #我的订单搜索框
driver.find_element_by_xpath( '/html/body/div/div/div/form/div/div/input[1]').send_keys( '男鞋') #xpath相对路径 #登录
driver.find_element_by_xpath( "//div[@class='login']/a[1]").click()
driver.find_element_by_xpath( "//*[@class='login']/a[1]").click() #更好留给你
driver.find_element_by_xpath( "//div[@class='schhot']/a[6]").click()
driver.find_element_by_xpath( "//a[contains(@title,'更好')]").click()
driver.find_element_by_xpath( "//*[@class='schhot']").click()
driver.find_element_by_xpath( "//a[@title='更好留给你']").click() #我的订单搜索框
driver.find_element_by_xpath( "//div[@class='sch']/input[1]").send_keys( '男鞋')
driver.find_element_by_xpath( "//*[@class='sch']/input[1]").send_keys( '男鞋')
driver.find_element_by_xpath( "//input[@class='text' and @type='text']").send_keys( '男鞋')
driver.find_element_by_xpath( "//input[contains(@name,'key')]").send_keys( '男鞋') #服务时间
driver.find_element_by_xpath( "//div[@class='contact_us']/p[3]").click()
driver.find_element_by_xpath( "//*[@class='contact_us']/p[3]").click()
driver.find_element_by_xpath( "//p[@class='service']").click()
driver.find_element_by_xpath( "//p[contains(@class,'serv')]").click() #个人头像
driver.find_element_by_xpath( "//div[@class='img']/img").click()
driver.find_element_by_xpath( "//*[@class='img']/img").click()
driver.find_element_by_xpath( "//img[@width='80']").click()
driver.find_element_by_xpath( "//img[contains(@src,'/yuns/')]").click() #css定位 #首页输入框
driver.find_element_by_css_selector( "html body div div div div form input:nth-child(1)").send_keys( '衬衫') #购物车
driver.find_element_by_css_selector( "div.small_cart_name>span").click() #首页输入框
driver.find_element_by_css_selector( "input.but1").send_keys( '衬衫') #我的订单搜索按钮
driver.find_element_by_css_selector( "input[type='submit']").click() #在线支付
driver.find_element_by_css_selector( "div.contact_help>dl:nth-child(4)>dd:nth-child(2)>a").click() #我的购物车数字图标
driver.find_element_by_css_selector( "i#cart_num").click() #会员中心
driver.find_element_by_css_selector( 'div[class="con"]>p>a:nth-child(1)').click() #整点秒杀按钮
driver.find_element_by_css_selector( 'a[target="_blank"][href="http://101.133.169.100/yuns/index.php/goods/seckill"]').click() 获取验证信息 from selenium import webdriver #从selenium导入webdriver这个类 import time
driver = webdriver.Chrome() #初始化一个driver对象
driver.get( ' http://101.133.169.100/yuns/')
time.sleep(5)
title = driver.title #获取页面title信息
print(title)
driver.find_element_by_link_text( '口红').click()
url = driver.current_url #点击某一按钮之后,获取当前页面信息的url
print(url) 控制浏览器
from selenium import webdriver #从selenium导入webdriver这个类
import time
driver = webdriver.Chrome() #初始化一个driver对象
driver.get(' http:// 101.133.169.100/yuns/ ')
time.sleep(5)
driver.find_element_by_link_text('口红').click()
driver.refresh() #浏览器刷新
time.sleep(2)
driver.back() #浏览器回退
time.sleep(2)
driver.forward() #浏览器前进
time.sleep() 设置浏览器尺寸
from selenium import webdriver #从selenium导入webdriver这个类 import time driver = webdriver.Chrome() #初始化一个driver对象 driver.get(' http:// 101.133.169.100/yuns/ ') time.sleep(5) driver.maximize_window() #浏览器窗口最大化 time.sleep(2) driver.set_window_size(1200,800) #设置浏览器的高和宽 time.sleep(2) 动作方法
from selenium import webdriver #从selenium导入webdriver这个类 import time driver = webdriver.Chrome() #初始化一个driver对象 driver.get(' http:// 101.133.169.100/yuns/ ') time.sleep(5) driver.find_element_by_name('key').send_keys('口红') #输入内容,只针对输入框 time.sleep(2) driver.find_element_by_name('key').clear() #清空输入框的内容 time.sleep(2) driver.find_element_by_id('cart_num').click() #点击控件 窗口切换
from selenium import webdriver #从selenium导入webdriver这个类 import time driver = webdriver.Chrome() #初始化一个driver对象 driver.get(' http://www. baidu.com ') time.sleep(5) driver.find_element_by_class_name('s_ipt').send_keys('腾讯视频') driver.find_element_by_id('su').click() print(driver.window_handles) #获取当前窗口所有信息 driver.find_element_by_xpath("//div[@id='1']/h3/a[1]").click() print(driver.window_handles) print(driver.current_window_handle)# 获取当前焦点所在的窗体 driver.switch_to.window(driver.window_handles[1]) #切换窗体的焦点 driver.close() #关闭当前焦点所在的窗体 driver.quit() #关闭所有窗体
自动化测试报告

91d27449805d36b8002b3fd003243674.png
第十三阶段:移动端自动化

57481c100f01bd108ace14c9457b4c81.png
第十四阶段:接口测试

f8fb60db235a282e7846f8bbb06660b5.png
性能测试

d0388bff172525808f518e94389f025a.png
第十五阶段:接口自动化测试

8305160beb0c9028f5c7c799e1dd6cad.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值