開發(fā)實(shí)現(xiàn)講解流程

本文章轉(zhuǎn)載于搜狗測(cè)試

前言

基于對(duì)被測(cè)對(duì)象的功能實(shí)現(xiàn)了解勿璃,使用灰盒測(cè)試手段鸳慈,可以將測(cè)試覆蓋度進(jìn)一步提升充石,所以基于此目的進(jìn)行開發(fā)功能實(shí)現(xiàn)的講解是非常有必要的榛臼。

實(shí)現(xiàn)講解的必要性

舉例說明:搜狗瀏覽器的頁面靜音功能為例耳峦,我們對(duì)比一下黑盒測(cè)試和灰盒測(cè)試的覆蓋情況恩静。

需求說明:頁面靜音功能是這樣一個(gè)功能,當(dāng)瀏覽器打開的網(wǎng)頁中在播放聲音時(shí)蹲坷,通過操作狀態(tài)欄的一個(gè)開關(guān)按鈕驶乾,可以將網(wǎng)頁中的聲音靜音。

黑盒測(cè)試能夠考慮到的測(cè)試點(diǎn):

狀態(tài)欄的圖標(biāo)開啟/關(guān)閉時(shí)的狀態(tài)顯示循签。

不同網(wǎng)頁的靜音情況级乐。

多個(gè)網(wǎng)頁均存在聲音時(shí)開啟靜音的情況拉讯。

高速內(nèi)核頁面(Webkit)和兼容內(nèi)核頁面(Trident)分別靜音的情況抡爹。

……

以上測(cè)試點(diǎn)在不了解功能實(shí)現(xiàn)情況下,僅通過測(cè)試人員發(fā)散性思維考慮到的測(cè)試點(diǎn)产捞,測(cè)試覆蓋度還是存在一定局限性乞旦。下面我們將分析功能實(shí)現(xiàn)過程贼穆,進(jìn)一步拓展測(cè)試點(diǎn)。

開發(fā)實(shí)現(xiàn)了解

基于開發(fā)實(shí)現(xiàn)的過程了解兰粉,我們得到以下信息:

頁面靜音是通過Hook機(jī)制故痊,將發(fā)聲函數(shù)截獲后修改其返回值達(dá)到的。Hook的函數(shù)有:

waveOutWrite

DirectSound系列函數(shù):DirectSoundCreate玖姑、CreateSoundBuffer愕秫、SetVolume

Media Foundation

通過對(duì)以上Hook函數(shù)的返回值進(jìn)行修改進(jìn)而達(dá)到了靜音。

waveOutWrite-->waveOutSetVolume(0)// ? ? 通過SetVolume音量為0達(dá)到靜音

DirectSound-->SetVolume(0)// 同樣通過SetVolume音量為0達(dá)到靜音

基于以上功能實(shí)現(xiàn)的了解焰络,我們可以補(bǔ)充到的測(cè)試點(diǎn)有:

因?yàn)榱私獾絯aveOutWrite函數(shù)戴甩,進(jìn)而查資料了解到mid音樂格式是使用的這種函數(shù)播放,所以測(cè)試點(diǎn)補(bǔ)充mid音樂格式闪彼。

因?yàn)榱私獾紻irectSound函數(shù)甜孤,進(jìn)而了解到網(wǎng)頁中播放音樂的三種寫法:embed,bgsound备蚓,classid

_T("CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"

進(jìn)而在測(cè)試點(diǎn)中補(bǔ)充不同的classid播放形式课蔬,如下:

'/** Windows Media Player 系列(不同面板樣式)? mp3格式 */

_T("CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6")

'/** Windows Media Player 系列(不同面板樣式)? wma格式 */

_T("CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95")

' /** Windows Media Player 系列(不同面板樣式)? rm avi格式 */

_T("CLSID:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA")

'/** Windows Media Player 系列(不同面板樣式)? mpg格式 */

_T("CLSID:05589FA1-C356-11CE-BF01-00AA0055595A")

因?yàn)榱私獾組edia Foundation函數(shù)播放音樂,進(jìn)而了解到這種函數(shù)是在win7以上系統(tǒng)所使用的技術(shù)郊尝,所以測(cè)試點(diǎn)補(bǔ)充不同操作系統(tǒng)類型

因?yàn)榱私獾組edia Foundation函數(shù)有版權(quán)保護(hù)功能战惊,所以測(cè)試點(diǎn)補(bǔ)充受版權(quán)保護(hù)的音樂格式測(cè)試點(diǎn)流昏。

綜上所述扎即,對(duì)被測(cè)對(duì)象的功能實(shí)現(xiàn)了解,對(duì)于測(cè)試覆蓋度的提升是有很大幫助的况凉,所以開發(fā)實(shí)現(xiàn)講解流程很有必要谚鄙。

開發(fā)實(shí)現(xiàn)講解時(shí)機(jī)

編碼實(shí)現(xiàn)前。一般有經(jīng)驗(yàn)的開發(fā)人員在功能實(shí)現(xiàn)前刁绒,會(huì)將大致實(shí)現(xiàn)的框架結(jié)構(gòu)設(shè)計(jì)出來闷营,之后再在此框架基礎(chǔ)上進(jìn)行Coding。

如圖:搜狗瀏覽器通行證同步框架圖

編碼實(shí)現(xiàn)過程中知市。

編碼實(shí)現(xiàn)完畢提測(cè)時(shí)傻盟。

測(cè)試過程中代碼重構(gòu)優(yōu)化。

開發(fā)實(shí)現(xiàn)講解流程

1.實(shí)現(xiàn)講解人

由開發(fā)同學(xué)負(fù)責(zé)講解嫂丙。

由測(cè)試同學(xué)提出需求娘赴,由開發(fā)同學(xué)講解。

由測(cè)試同學(xué)提出需求跟啤,由團(tuán)隊(duì)中有Coding能力的測(cè)試同學(xué)(一般是測(cè)試開發(fā)工程師)進(jìn)行代碼調(diào)研诽表,進(jìn)而進(jìn)行講解。

2.實(shí)現(xiàn)講解的準(zhǔn)備

開發(fā)同學(xué):將實(shí)現(xiàn)過程提取準(zhǔn)備為電子版隅肥,以便在會(huì)議上快速講解完成竿奏。

例如:搜狗瀏覽器頁面靜音代碼實(shí)現(xiàn)流程圖,其中的技術(shù)細(xì)節(jié)和測(cè)試重點(diǎn)由開發(fā)提前準(zhǔn)備了電子版內(nèi)容腥放,在會(huì)議上進(jìn)行講解泛啸。

測(cè)試同學(xué)

在溝通功能實(shí)現(xiàn)前,測(cè)試同學(xué)提前做一些背景知識(shí)的了解捉片,例如上例中Hook技術(shù)平痰、頁面播放聲音的常見寫法。

提前準(zhǔn)備好要溝通的問題列表伍纫,可以記在本子上或電子版宗雇,溝通時(shí)一個(gè)接一個(gè)地提問,免得現(xiàn)想問題浪費(fèi)時(shí)間莹规。

3.實(shí)現(xiàn)講解中的注意事項(xiàng)赔蒲。

a.測(cè)試同學(xué)提問的問題建議不要太過開放性

在溝通實(shí)現(xiàn)時(shí)的第一個(gè)問題良漱,如果是比較”大而泛”舞虱,溝通結(jié)果一般不會(huì)太理想,比如:“Cookie同步功能是怎么實(shí)現(xiàn)的母市?”

開發(fā)同學(xué)更喜歡回答一些具體的矾兜、技術(shù)性的、非開放性的問題患久。如果我們換個(gè)提問方式:

QA:瀏覽器不同進(jìn)程之間是如何傳遞數(shù)據(jù)的椅寺?

DEV:通過發(fā)送消息的方式浑槽,使用FileMappming進(jìn)行多進(jìn)程傳遞。

QA:傳遞的時(shí)機(jī)是什么時(shí)候返帕?

DEV:用戶在瀏覽器中登錄網(wǎng)站時(shí)桐玻,觸發(fā)了Cookie的讀寫操作時(shí)。

QA:瀏覽器是怎么檢測(cè)到用戶產(chǎn)生了登錄行為荆萤?

DEV:瀏覽器對(duì)網(wǎng)絡(luò)返回值中的Set-Cookie字段進(jìn)行了檢測(cè)镊靴,一旦發(fā)現(xiàn)該字段,則會(huì)解析其內(nèi)容并進(jìn)行保存和同步操作链韭。

……(借著以上問題繼續(xù)展開溝通)

b.提問問題的方式很重要偏竟。

以前小編和一位開發(fā)大牛聊過測(cè)試和開發(fā)溝通實(shí)現(xiàn)的議題,開發(fā)大牛表示梧油,他們更愿意測(cè)試同學(xué)是思考后帶著一些想法來溝通的苫耸,即便這種想法是錯(cuò)的,也是樂意歡迎的儡陨。所以褪子,我們可以準(zhǔn)備一些自己對(duì)這個(gè)功能實(shí)現(xiàn)過程的猜測(cè),然后用自己猜測(cè)的功能實(shí)現(xiàn)來進(jìn)行提問骗村。

例如:我們不知道Cookie數(shù)據(jù)如何進(jìn)行多進(jìn)程傳遞時(shí)嫌褪,我們可以猜測(cè)Cookie數(shù)據(jù)是不是保存在數(shù)據(jù)庫中,不同進(jìn)程讀取同一份數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)的交互胚股,然后帶著這種猜測(cè)來進(jìn)行發(fā)問:

QA:“多進(jìn)程數(shù)據(jù)同步是不是用數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交換的笼痛?”

DEV:“通過數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互可能存在這鎖的問題,所以我們不是通過這種方法而是用FileMappming文件映射的方式……”

……(順暢地交流起來)

c.紙上的交流比口頭交流好琅拌。

在溝通過程中缨伊,簡(jiǎn)單的問題可以口頭交流,但是復(fù)雜的問題建議在紙上畫著流程圖或者程序的框架圖會(huì)更加容易交流溝通进宝。所以刻坊,避免只停留在口頭上的溝通。

實(shí)現(xiàn)講解的記錄

記錄總結(jié)會(huì)議中的具體內(nèi)容形成電子版文檔党晋。

將總結(jié)內(nèi)容維護(hù)至模塊說明文檔谭胚。如下:

最后,根據(jù)實(shí)現(xiàn)講解內(nèi)容未玻,擴(kuò)充測(cè)試用例灾而。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市扳剿,隨后出現(xiàn)的幾起案子旁趟,更是在濱河造成了極大的恐慌,老刑警劉巖庇绽,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件轻庆,死亡現(xiàn)場(chǎng)離奇詭異癣猾,居然都是意外死亡敛劝,警方通過查閱死者的電腦和手機(jī)余爆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來夸盟,“玉大人蛾方,你說我怎么就攤上這事∩仙拢” “怎么了桩砰?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)释簿。 經(jīng)常有香客問我亚隅,道長(zhǎng),這世上最難降的妖魔是什么庶溶? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任煮纵,我火速辦了婚禮,結(jié)果婚禮上偏螺,老公的妹妹穿的比我還像新娘行疏。我一直安慰自己,他們只是感情好套像,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布酿联。 她就那樣靜靜地躺著,像睡著了一般夺巩。 火紅的嫁衣襯著肌膚如雪贞让。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天柳譬,我揣著相機(jī)與錄音喳张,去河邊找鬼。 笑死征绎,一個(gè)胖子當(dāng)著我的面吹牛蹲姐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播人柿,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼柴墩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了凫岖?” 一聲冷哼從身側(cè)響起江咳,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哥放,沒想到半個(gè)月后歼指,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爹土,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年踩身,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胀茵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挟阻,死狀恐怖琼娘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情附鸽,我是刑警寧澤脱拼,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站坷备,受9級(jí)特大地震影響熄浓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜省撑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一赌蔑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丁侄,春花似錦惯雳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拙吉,卻和暖如春潮孽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背筷黔。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工往史, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人佛舱。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓椎例,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親请祖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子订歪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,110評(píng)論 25 707
  • 先說項(xiàng)目開發(fā)過程中團(tuán)隊(duì)人員的分工協(xié)作。 一 人員安排 畢業(yè)至今的大部分項(xiàng)目都是獨(dú)立完成肆捕,雖然也有和其他同事協(xié)作的時(shí)...
    SnowflakeCloud閱讀 10,769評(píng)論 3 59
  • 今天在首頁上看到《可是我不愿意陪你做一只蘑菇》之后突然想起我唯一的男閨蜜來刷晋。 我非常熱衷寫身邊人的故事。和前男友分...
    月落閱讀 2,462評(píng)論 58 40
  • 1、touch 2眼虱、mkdir 3喻奥、cp 4、mv 5捏悬、rm 6撞蚕、tar 7、grepgrep命令用于對(duì)文本內(nèi)容進(jìn)...
    ryanzl閱讀 185評(píng)論 0 0
  • 微笑邮破,在臉頰微動(dòng)嘴角翹起的那一刻你最美诈豌。 微風(fēng)拂過,陽光灑在草地上抒和,那草格外的綠,草下蟲子正在偷吃彤蔽,鳥兒在銀杏樹上...
    空谷幽蘭AF閱讀 232評(píng)論 0 1