今天參加了一次測試面試,面得一般般吧。趁着還記得面試題,記錄一下
1、設計登錄功能的測試用例
網上隨便找的答案
2、多表查詢
select username,psw,gname,tel from (t1 left join t2 on t1.t1_id=t2.t1_id) left join t3 on t1.t1_id=t3.t1_id
items:商品表,item_visit_stats:商品訪問表,item_trade_stats:商品銷售表
SELECT i.num_iid, i.title, i.price, SUM(iv.user_visits) AS uv,it.buyer_num,it.item_num,it.item_num*i.price AS turnover
FROM (items AS i RIGHT JOIN item_visit_stats AS iv ON i.num_iid=iv.num_iid)
LEFT JOIN (SELECT num_iid,SUM(buyer_num) AS buyer_num,SUM(item_num) AS item_num FROM item_trade_stats
WHERE seller_nick="XXXX" AND business_day BETWEEN '2010-08-14' AND '2010-08-15' GROUP BY num_iid)
AS it ON it.num_iid=iv.num_iid
WHERE i.nick="XXXX" AND iv.business_day BETWEEN '2010-08-14' AND '2010-08-15'
GROUP BY i.num_iid ORDER BY uv DESC
3、TCP建立連接和終止連接的過程
4、測試的幾個階段
軟件測試一般分爲4個階段:單元測試、集成測試、系統測試、驗收測試。
一、單元測試 單元測試是對軟件中的最小可驗證單元進行檢查和驗證。比如對Java中的類和方法的測試。
測試原則: 1、儘可能保證測試用例相互獨立(測試用例中不能直接調用其他類的方法,而應在測試用例中重寫模擬方法); 2、此階段一般由軟件的開發人員來實施,用以檢驗所開發的代碼功能符合自己的設計要求。
單元測試的好處: 1、儘早的發現缺陷; 2、利於重構; 3、簡化集成; 4、文檔; 5、用於設計。
單元測試的不足: 1、不可能覆蓋所有的執行路徑,所以不可能保證捕捉到所有路徑的錯誤; 2、每行代碼需要3~5行代碼進行單元測試,存在投入與產出的平衡。
二、集成測試 集成測試是在單元測試的基礎上,把軟件單元按照軟件概要設計規格說明的規格要求,組裝成模塊、子系統或系統的過程中各部分工作是否達到或實現相應技術指標及要求。
集成測試包括BigBang、自頂向下、自底向上、核心系統集成、高頻集成。
三、系統測試 將經過集成測試的軟件,作爲計算機系統的一部分,與系統中其他部分結合起來,在實際運行環境下進行一系列嚴格有效的測試,以發現軟件潛在的問題,保證系統的正常運行。
集成測試和系統測試之間的比較: 1、測試內容:集成測試是測試各個單元模塊之間的接口,系統測試是測試整個系統的功能和性能; 2、測試角度:集成測試偏重於技術的角度進行測試,系統測試是偏重於業務的角度進行測試。
四、驗收測試 也稱交付測試,是針對用戶需求、業務流程進行的正式的測試,以確定系統是否滿足驗收標準,由用戶、客戶或其他授權機構決定是否接受系統。
驗收測試包括alpha測試和beta測試,alpha測試是由開發者進行的軟件測試,beta測試是由用戶在脫離開發環境下進行的軟件測試。
5、任意一種語言。輸出10000以內所有等於該數字所有約數之和的數
for i in range(1,10001):
sum = 0
l = []
for j in range(1,i):
if i % j == 0:
l.append(j)
else:
continue
for n in l:
sum = sum + n
if sum == i:
print(i)
6、python的冒泡排序
list = [6,2,3,5,1,7,9,4]
def bubble_sort(list):
num = len(list)
for j in range(0, num-1):
for i in range(0, num-j-1):
if list[i] > list[i+1]:
list[i],list[i+1] = list[i+1],list[i]
bubble_sort(list)
print(list)
7、公司SaaS業務流程
目前公司的業務模塊包括:訂單,採購單,計劃,財務,生產單,庫存。工廠模式
8、做過的接口自動化的基本流程
9、jmeter性能測試用過的組件和流程
1、線程組(設置線程數,循環次數,Ramp-Up Period)
2、sampler-HTTP請求(接口信息)
3、邏輯控制器-循環控制器
4、配置元件-自定義變量(調用:${變量名稱});HTTP cookie管理器;HTTP 信息頭管理器
5、定時器-固定定時器
6、斷言-響應斷言(200等)
7、監聽-查看結果樹,聚合包括,圖形結果等
10、java的string和stringbuffer的區別
(1)String:是對象不是原始類型.爲不可變對象,一旦被創建,就不能修改它的值.對於已經存在的String對象的修改都是重新創建一個新的對象,然後把新的值保存進去.String 是final類,即不能被繼承
(2)StringBuffer:是一個可變對象,當對他進行修改的時候不會像String那樣重新建立對象。它只能通過構造函數來建立對象被建立以後,在內存中就會分配內存空間,並初始保存一個null.向StringBuffer中付值的時候可以通過它的append方法.
11、linux查看某日誌文件中包含id=001的數據
tail -1000f test.log | grep “id=001”
面試的時候,從這家公司離職的理由說的有點問題,我要思考一下怎麼說既合理又不影響面試印象