很多人都拿到了不同的學(xué)習(xí)軟件測試學(xué)習(xí)路線圖,但是卻不知道其實(shí)軟件測試更多的需要實(shí)戰(zhàn)。
談到實(shí)戰(zhàn),我的發(fā)言比較具有權(quán)威性,很簡單什么軟件可以測試你的名字值多少錢,實(shí)戰(zhàn)的結(jié)果以什么維度去考慮,是不是需要對應(yīng)的輸出件。
阿里的名言:沒有結(jié)果的努力全是瞎忙!!!
那么我們來分析下,軟件測試的過程中,或者學(xué)習(xí)的過程中都需要輸出哪些內(nèi)容? 第一階段,熟悉軟件測試中的各個軟件測試術(shù)語的相關(guān)概念。
第二階段,輸出對應(yīng)的軟件測試方法及分類
第三階段,軟件測試的相關(guān)模型。
第四階段,輸出軟件測試生命周期
第五階段,需求評審,企業(yè)的第一個會議
第六個階段,測試用例的輸出
第七個階段:Linux相關(guān)命令
第八個階段:數(shù)據(jù)庫的相關(guān)練習(xí) 一、where子句練習(xí)
1.查找滿足價格大于等于9的所有信息;
2.查找滿足在1002和1003之間的;
3.查找在1、3、5這三個數(shù)內(nèi)的信息;
4.查找訂單狀態(tài)是已支付的信息;
5.查找用戶名類似于li開頭的信息;
6.查找用戶名中第二個字母是h的信息;
7.查找用戶名中第二個字母不是h的信息;
8.查找用戶名中最后一個字母不是以i結(jié)尾的信息;
9.查找價格大于8,且訂單狀態(tài)是已支付的信息;
10.查找用戶表中為null的信息;
11.查找用戶表中不為null的信息。
二、聚合函數(shù)練習(xí)
1.查找訂單表中最大的價格;查找訂單表中最小的價格;
2.查找訂單表中=2的最小價格;
3.分別列出訂單表中=2的最小價格和最大價格;
4.分別列出訂單表中=2的最小價格和最大價格,并把最小價格的展示結(jié)果的列名改為“”;
5.求訂單表的價格的平均值,求訂單表中=2的價格的平均值;
6.分別列出訂單表中=2的價格的平均值、最小值、最大值;
7.求訂單表中=1的價格的總和;
8.求訂單表中=1或者=3的價格總和;
第九個階段:探索式測試
第十階段:相關(guān)實(shí)戰(zhàn) 1.提醒用戶輸入自己的英文名字,然后保存到字典中(以name為key),將用戶輸入的英文名字翻轉(zhuǎn)什么軟件可以測試你的名字值多少錢,繼續(xù)保存到剛才的字典中(以為key)將字典中用戶的正常的英文姓名賦值給變量,告知客戶“您的英文名字是:” + 變量,“您的英文名字翻轉(zhuǎn)是:” + 字典里獲取;
={} =input('請輸入你的英文名字:') ['name']= ['']=[::-1] print("你的英文名字是:"+,"你的英文名字翻轉(zhuǎn)是:"+[''])
2.提醒用戶依次輸入數(shù)學(xué)、語文、英語、綜合四門的成績,按照輸入的成績排序,告訴用戶“您的最高的一門成績是:”xx (不用告訴用戶是哪一科) 1)方法一:
score=[float(input('請輸入你的數(shù)學(xué)成績:')),float(input('請輸入你的語文成績:')),float(input('請輸入你的英文成績:')),float(input('請輸入你的綜合成績:'))] =(score,=True) print('你的最高一門成績是:%d'%[0])
2)方法二:
=['數(shù)學(xué)','語文','英語','綜合'] score=[] for in(): =float(input('請輸入你的%s成績:' %)) while >100 or
3)方法三:
=['數(shù)學(xué)','語文','英語','綜合'] ={} for in(): score=(float(input('請輸入你的%s成績:' %))) while score>100 or score
3.使用input讓用戶依次輸入兩個數(shù)字, 計(jì)算兩個數(shù)字的和并顯示。
a=float(input('請輸入第一個數(shù)字:')) b=float(input('請輸入第二個數(shù)字:')) print('兩個數(shù)字之和是:%s' %(a+b))
1.用輸出九九乘法表
for i in range(1,10): for j in range(1,i+1): print('%dx%d=%d ' %(j,i,j*i),end='') print()
2.猜數(shù)字游戲
代碼中生成一個隨機(jī)整數(shù),然后用戶輸入數(shù)字后,程序提示用戶的輸入是高了還是低了,直到用戶猜中這個數(shù)字, 游戲結(jié)束。
a=.(0,100) b=int(input('請輸入你猜的數(shù)字:')) while b!=a: if b>a: b=int(input('你猜高了,請重新猜這個數(shù)字:')) else: b=int(input('你猜低了,請重新猜這個數(shù)字:')) else: print('你猜對了,游戲結(jié)束')
第十二階段:自動化測試
from #從導(dǎo)入這個類 time
= .() #初始化一個對象
.get( ' #39;)
time.sleep(5) #xpath絕對路徑 #登錄
.h( '/html/body/div[1]/div/div[1]/a[1]').click() #免費(fèi)注冊
.h( '/html/body/div/div/div[1]/a[2]').click() #全場免運(yùn)費(fèi)
.h( '/html/body/div/div/div[2]/span[1]').click() #優(yōu)惠券
.h( '/html/body/div[3]/div/div/a[3]').click() #我的訂單搜索框
.h( '/html/body/div/div/div/form/div/div/input[1]').( '男鞋') #xpath相對路徑 #登錄
.h( "http://div[@class='login']/a[1]").click()
.h( "http://*[@class='login']/a[1]").click() #更好留給你
.h( "http://div[@class='']/a[6]").click()
.h( "http://a[(@title,'更好')]").click()
.h( "http://*[@class='']").click()
.h( "http://a[@title='更好留給你']").click() #我的訂單搜索框
.h( "http://div[@class='sch']/input[1]").( '男鞋')
.h( "http://*[@class='sch']/input[1]").( '男鞋')
.h( "http://input[@class='text' and @type='text']").( '男鞋')
.h( "http://input[(@name,'key')]").( '男鞋') #服務(wù)時間
.h( "http://div[@class='']/p[3]").click()
.h( "http://*[@class='']/p[3]").click()
.h( "http://p[@class='']").click()
.h( "http://p[(@class,'serv')]").click() #個人頭像
.h( "http://div[@class='img']/img").click()
.h( "http://*[@class='img']/img").click()
.h( "http://img[@width='80']").click()
.h( "http://img[(@src,'/yuns/')]").click() #css定位 #首頁輸入框
.( "html body div div div div form input:nth-child(1)").( '襯衫') #購物車
.( "div.>span").click() #首頁輸入框
.( "input.but1").( '襯衫') #我的訂單搜索按鈕
.( "input[type='']").click() #在線支付
.( "div.>dl:nth-child(4)>dd:nth-child(2)>a").click() #我的購物車數(shù)字圖標(biāo)
.( "i#").click() #會員中心
.( 'div[class="con"]>p>a:nth-child(1)').click() #整點(diǎn)秒殺按鈕
.( 'a[=""][href=""]').click() 獲取驗(yàn)證信息 from #從導(dǎo)入這個類 time
= .() #初始化一個對象
.get( ' #39;)
time.sleep(5)
title = .title #獲取頁面title信息
print(title)
._text( '口紅').click()
url = . #點(diǎn)擊某一按鈕之后,獲取當(dāng)前頁面信息的url
print(url) 控制瀏覽器
from #從導(dǎo)入這個類
time
= .() #初始化一個對象
.get(' 101.133.169.100/yuns/ ')
time.sleep(5)
._text('口紅').click()
.() #瀏覽器刷新
time.sleep(2)
.back() #瀏覽器回退
time.sleep(2)
.() #瀏覽器前進(jìn)
time.sleep() 設(shè)置瀏覽器尺寸
from #從導(dǎo)入這個類 time = .() #初始化一個對象 .get(' 101.133.169.100/yuns/ ') time.sleep(5) .() #瀏覽器窗口最大化 time.sleep(2) .(1200,800) #設(shè)置瀏覽器的高和寬 time.sleep(2) 動作方法
from #從導(dǎo)入這個類 time = .() #初始化一個對象 .get(' 101.133.169.100/yuns/ ') time.sleep(5) .('key').('口紅') #輸入內(nèi)容,只針對輸入框 time.sleep(2) .('key').clear() #清空輸入框的內(nèi)容 time.sleep(2) .('').click() #點(diǎn)擊控件 窗口切換
from #從導(dǎo)入這個類 time = .() #初始化一個對象 .get(' ') time.sleep(5) .('s_ipt').('騰訊視頻') .('su').click() print(.) #獲取當(dāng)前窗口所有信息 .h("http://div[@id='1']/h3/a[1]").click() print(.) print(.e)# 獲取當(dāng)前焦點(diǎn)所在的窗體 ..(.[1]) #切換窗體的焦點(diǎn) .close() #關(guān)閉當(dāng)前焦點(diǎn)所在的窗體 .quit() #關(guān)閉所有窗體
自動化測試報(bào)告
第十三階段:移動端自動化
第十四階段:接口測試
性能測試
第十五階段:接口自動化測試