《軟件測(cè)試技術(shù)》PPT課件
《《軟件測(cè)試技術(shù)》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《軟件測(cè)試技術(shù)》PPT課件(134頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第 7章 軟 件 測(cè) 試 技 術(shù) 第 7章 軟 件 測(cè) 試 技 術(shù) 7.1 軟 件 測(cè) 試 基 礎(chǔ) 7.2 白 盒 測(cè) 試 技 術(shù) 7.3 黑 盒 測(cè) 試 技 術(shù) 7.4 軟 件 測(cè) 試 計(jì) 劃 和 測(cè) 試 分 析 報(bào) 告 7.5 軟 件 測(cè) 試 策 略 7.6 小 結(jié) 第 7章 軟 件 測(cè) 試 技 術(shù) 7.1 軟 件 測(cè) 試 基 礎(chǔ)7.1.1 軟 件 測(cè) 試 的 概 念 、 目 的 和 原 則 1. 軟 件 測(cè) 試 的 概 念 軟 件 測(cè) 試 是 在 軟 件 投 入 運(yùn) 行 前 對(duì) 軟 件 需 求 分 析 、 軟 件 設(shè) 計(jì) 規(guī)格 說 明 和 軟 件 編 碼 進(jìn) 行 查 錯(cuò) 和 糾 錯(cuò) (包
2、 括 代 碼 執(zhí) 行 活 動(dòng) 與 人 工 活動(dòng) )。 找 錯(cuò) 的 活 動(dòng) 稱 測(cè) 試 , 糾 錯(cuò) 的 活 動(dòng) 稱 調(diào) 試 。 可 以 說 , 軟 件 測(cè) 試是 為 了 發(fā) 現(xiàn) 錯(cuò) 誤 而 執(zhí) 行 程 序 的 過 程 。 或 者 說 , 軟 件 測(cè) 試 是 根 據(jù) 軟件 開 發(fā) 各 階 段 的 規(guī) 格 說 明 和 程 序 的 內(nèi) 部 結(jié) 構(gòu) 而 精 心 設(shè) 計(jì) 一 批 測(cè) 試用 例 (即 輸 入 數(shù) 據(jù) 及 其 預(yù) 期 的 輸 出 結(jié) 果 ), 并 利 用 這 些 測(cè) 試 用 例 去 運(yùn) 行 程 序 , 以 發(fā) 現(xiàn) 程 序 錯(cuò) 誤 的 過 程 。 第 7章 軟 件 測(cè) 試 技 術(shù) 2. 軟 件
3、測(cè) 試 的 目 的 Glen Myers在 他 的 軟 件 測(cè) 試 著 作 中 就 軟 件 測(cè) 試 的 目 的 提 出下 列 觀 點(diǎn) : (1) 測(cè) 試 是 一 個(gè) 為 了 尋 找 錯(cuò) 誤 而 運(yùn) 行 程 序 的 過 程 。 (2) 一 個(gè) 好 的 測(cè) 試 用 例 是 指 很 可 能 找 到 迄 今 為 止 尚 未 發(fā) 現(xiàn)的 錯(cuò) 誤 的 用 例 。 (3) 一 個(gè) 成 功 的 測(cè) 試 是 指 揭 示 了 迄 今 為 止 尚 未 發(fā) 現(xiàn) 的 錯(cuò) 誤的 測(cè) 試 。 第 7章 軟 件 測(cè) 試 技 術(shù) 正 確 認(rèn) 識(shí) 測(cè) 試 的 目 的 是 十 分 重 要 的 , 只 有 這 樣 , 才 能 設(shè) 計(jì)出
4、 最 能 暴 露 錯(cuò) 誤 的 測(cè) 試 方 案 。 測(cè) 試 的 目 的 應(yīng) 從 用 戶 角 度 出 發(fā) ,通 過 軟 件 測(cè) 試 暴 露 軟 件 中 潛 在 的 錯(cuò) 誤 和 缺 陷 , 而 不 是 從 軟 件 開發(fā) 者 的 角 度 出 發(fā) , 希 望 測(cè) 試 成 為 表 明 軟 件 產(chǎn) 品 不 存 在 錯(cuò) 誤 , 驗(yàn)證 軟 件 已 正 確 實(shí) 現(xiàn) 用 戶 的 要 求 的 過 程 。 否 則 , 開 發(fā) 者 測(cè) 試 時(shí) 會(huì)選 擇 不 易 測(cè) 試 出 錯(cuò) 誤 和 缺 陷 的 用 例 , 這 與 上 述 測(cè) 試 目 的 相 違 背 。 一 個(gè) 成 功 的 測(cè) 試 是 指 揭 示 了 迄 今 為 止 尚
5、 未 發(fā) 現(xiàn) 的 錯(cuò) 誤 的 測(cè)試 。 測(cè) 試 的 目 標(biāo) 是 能 夠 以 耗 費(fèi) 最 少 時(shí) 間 與 最 小 工 作 量 找 出 軟 件系 統(tǒng) 中 潛 在 的 各 種 錯(cuò) 誤 與 缺 陷 。 另 外 , 我 們 應(yīng) 該 認(rèn) 識(shí) 到 : 測(cè) 試只 能 證 明 程 序 中 錯(cuò) 誤 的 存 在 , 但 不 能 證 明 程 序 中 沒 有 錯(cuò) 誤 。 因?yàn)?即 使 實(shí) 施 了 最 嚴(yán) 格 的 測(cè) 試 , 仍 然 可 能 還 有 尚 未 被 發(fā) 現(xiàn) 的 錯(cuò) 誤 或 缺 陷 存 在 于 程 序 當(dāng) 中 , 因 而 測(cè) 試 不 能 證 明 程 序 沒 有 錯(cuò) 誤 , 但可 能 查 出 程 序 中 的 錯(cuò)
6、誤 。 第 7章 軟 件 測(cè) 試 技 術(shù) 3. 軟 件 測(cè) 試 的 基 本 原 則 人 們 為 了 提 高 測(cè) 試 的 效 率 , 在 長 期 測(cè) 試 實(shí) 驗(yàn) 中 積 累 了 不 少經(jīng) 驗(yàn) , 下 面 列 出 了 人 們 在 實(shí) 踐 中 總 結(jié) 的 主 要 基 本 原 則 : (1) 盡 早 地 并 不 斷 地 進(jìn) 行 軟 件 測(cè) 試 。 實(shí) 際 問 題 的 復(fù) 雜 性 、 軟 件 本 身 的 復(fù) 雜 性 與 抽 象 性 以 及 開 發(fā)期 各 層 人 員 工 作 的 配 合 關(guān) 系 等 各 種 錯(cuò) 綜 復(fù) 雜 的 因 素 使 得 軟 件 開發(fā) 的 各 個(gè) 階 段 都 可 能 存 在 錯(cuò) 誤 及
7、 潛 在 的 缺 陷 。 所 以 , 軟 件 開 發(fā)的 各 階 段 都 應(yīng) 當(dāng) 進(jìn) 行 測(cè) 試 。 錯(cuò) 誤 發(fā) 現(xiàn) 得 越 早 , 后 階 段 耗 費(fèi) 的 人力 、 財(cái) 力 就 越 少 , 軟 件 質(zhì) 量 相 對(duì) 就 高 一 些 。 第 7章 軟 件 測(cè) 試 技 術(shù) (2) 程 序 員 或 程 序 設(shè) 計(jì) 機(jī) 構(gòu) 應(yīng) 避 免 測(cè) 試 自 己 設(shè) 計(jì) 的 程 序 。 測(cè) 試 是 為 了 找 錯(cuò) , 而 程 序 員 大 多 對(duì) 自 己 所 編 的 程 序 存 有 偏見 , 總 認(rèn) 為 自 己 編 的 程 序 問 題 不 大 或 無 錯(cuò) 誤 存 在 , 因 此 很 難 查出 錯(cuò) 誤 。 此 外 ,
8、設(shè) 計(jì) 機(jī) 構(gòu) 在 測(cè) 試 自 己 程 序 時(shí) , 由 于 開 發(fā) 周 期 和經(jīng) 費(fèi) 等 問 題 的 限 制 , 要 采 用 客 觀 的 態(tài) 度 是 十 分 困 難 的 。 從 工 作效 率 來 講 , 最 好 由 與 原 程 序 無 關(guān) 的 程 序 員 和 程 序 設(shè) 計(jì) 機(jī) 構(gòu) 進(jìn) 行測(cè) 試 。 第 7章 軟 件 測(cè) 試 技 術(shù) (3) 測(cè) 試 用 例 中 不 僅 要 有 輸 入 數(shù) 據(jù) , 還 要 有 與 之 對(duì) 應(yīng) 的 預(yù)期 結(jié) 果 。 測(cè) 試 前 應(yīng) 當(dāng) 設(shè) 定 合 理 的 測(cè) 試 用 例 。 測(cè) 試 用 例 不 僅 要 有 輸 入數(shù) 據(jù) , 而 且 還 要 有 與 之 對(duì) 應(yīng) 的
9、預(yù) 期 結(jié) 果 。 如 果 在 程 序 執(zhí) 行 前 無法 確 定 預(yù) 期 的 測(cè) 試 結(jié) 果 , 由 于 人 們 的 心 理 作 用 , 可 能 把 實(shí) 際 上是 錯(cuò) 誤 的 結(jié) 果 當(dāng) 成 是 正 確 的 。 第 7章 軟 件 測(cè) 試 技 術(shù) (4) 測(cè) 試 用 例 的 設(shè) 計(jì) 不 僅 要 有 合 法 的 輸 入 數(shù) 據(jù) , 還 要 有 非法 的 輸 入 數(shù) 據(jù) 。 在 設(shè) 計(jì) 測(cè) 試 用 例 時(shí) , 不 僅 要 有 合 法 的 輸 入 測(cè) 試 用 例 , 還 要有 非 法 的 輸 入 測(cè) 試 用 例 。 在 測(cè) 試 程 序 時(shí) , 人 們 常 忽 視 不 合 法 的和 預(yù) 想 不 到 的
10、輸 入 條 件 , 傾 向 于 考 慮 合 法 的 和 預(yù) 期 的 輸 入 條 件 。而 在 軟 件 的 實(shí) 際 使 用 過 程 中 , 由 于 各 種 因 素 的 存 在 , 用 戶 可 能會(huì) 使 用 一 些 非 法 的 輸 入 , 比 如 常 會(huì) 按 錯(cuò) 鍵 或 使 用 不 合 法 的 命 令 。對(duì) 于 一 個(gè) 功 能 較 完 善 的 軟 件 來 說 , 不 僅 當(dāng) 輸 入 是 合 法 的 時(shí) 候 能正 確 運(yùn) 行 , 而 且 當(dāng) 有 非 法 輸 入 時(shí) , 也 應(yīng) 當(dāng) 能 對(duì) 非 法 的 輸 入 拒 絕 接 受 , 同 時(shí) 給 出 對(duì) 應(yīng) 的 提 示 信 息 , 使 得 軟 件 便 于
11、使 用 。 第 7章 軟 件 測(cè) 試 技 術(shù) (5) 在 對(duì) 程 序 修 改 之 后 要 進(jìn) 行 回 歸 測(cè) 試 。 在 修 改 程 序 的 同 時(shí) 時(shí) 常 又 會(huì) 引 進(jìn) 新 的 錯(cuò) 誤 , 因 而 在 對(duì) 程 序 修改 完 之 后 , 還 應(yīng) 用 以 前 的 測(cè) 試 用 例 進(jìn) 行 回 歸 測(cè) 試 , 有 助 于 發(fā) 現(xiàn) 因修 改 程 序 而 引 進(jìn) 的 新 的 錯(cuò) 誤 。 第 7章 軟 件 測(cè) 試 技 術(shù) (6) 程 序 中 尚 未 發(fā) 現(xiàn) 的 錯(cuò) 誤 的 數(shù) 量 通 常 與 該 程 序 中 已 發(fā) 現(xiàn)的 錯(cuò) 誤 的 數(shù) 量 成 正 比 。 經(jīng) 驗(yàn) 表 明 : 一 段 程 序 中 若 發(fā)
12、 現(xiàn) 錯(cuò) 誤 的 數(shù) 目 越 多 , 則 此 段 程序 中 殘 存 的 錯(cuò) 誤 數(shù) 目 也 較 多 。 例 如 : 在 美 國 的 IBM/370的 一 個(gè) 操作 系 統(tǒng) 中 , 47% 的 錯(cuò) 誤 (由 用 戶 發(fā) 現(xiàn) 的 錯(cuò) 誤 )僅 與 該 系 統(tǒng) 的 4%的程 序 模 塊 有 關(guān) 。 據(jù) 此 規(guī) 律 , 在 實(shí) 際 測(cè) 驗(yàn) 時(shí) , 為 了 提 高 測(cè) 試 效 率 ,要 花 較 多 的 時(shí) 間 和 代 價(jià) 來 測(cè) 試 那 些 容 易 出 錯(cuò) 即 出 錯(cuò) 多 的 程 序 段 。而 不 要 以 為 找 到 了 幾 個(gè) 錯(cuò) 誤 , 就 認(rèn) 為 問 題 已 解 決 , 不 再 需 要 繼 續(xù) 測(cè)
13、 試 了 。 第 7章 軟 件 測(cè) 試 技 術(shù) (7) 妥 善 保 留 測(cè) 試 計(jì) 劃 、 全 部 測(cè) 試 用 例 、 出 錯(cuò) 統(tǒng) 計(jì) 和 最 終分 析 報(bào) 告 , 并 把 它 們 作 為 軟 件 的 組 成 部 分 之 一 , 為 維 護(hù) 提 供 方便 。 設(shè) 計(jì) 測(cè) 試 用 例 要 耗 費(fèi) 相 當(dāng) 大 的 工 作 量 , 若 測(cè) 試 完 隨 意 丟 棄 ,以 后 一 旦 程 序 改 錯(cuò) 后 需 重 新 測(cè) 試 時(shí) , 將 重 復(fù) 設(shè) 計(jì) 測(cè) 試 用 例 , 這會(huì) 造 成 很 大 的 浪 費(fèi) , 因 而 妥 善 保 留 與 測(cè) 試 有 關(guān) 的 資 料 , 能 為 后期 的 維 護(hù) 工 作 帶
14、 來 方 便 。 (8) 應(yīng) 當(dāng) 對(duì) 每 一 個(gè) 測(cè) 試 結(jié) 果 做 全 面 檢 查 。 這 條 重 要 的 原 則 時(shí) 常 被 人 們 忽 視 。 不 仔 細(xì) 、 全 面 地 檢 查 測(cè) 試 結(jié) 果 , 就 會(huì) 使 得 有 錯(cuò) 誤 征 兆 的 輸 出 結(jié) 果 被 漏 掉 。 第 7章 軟 件 測(cè) 試 技 術(shù) (9) 嚴(yán) 格 執(zhí) 行 測(cè) 試 計(jì) 劃 , 排 除 測(cè) 試 的 隨 意 性 。 測(cè) 試 計(jì) 劃 內(nèi) 容 應(yīng) 包 括 : 所 測(cè) 軟 件 的 功 能 、 輸 入 和 輸 出 、 測(cè) 試內(nèi) 容 、 各 項(xiàng) 測(cè) 試 的 進(jìn) 度 安 排 、 資 源 要 求 、 測(cè) 試 資 料 、 測(cè) 試 工 具
15、 、測(cè) 試 用 例 的 選 擇 、 測(cè) 試 的 控 制 方 式 和 過 程 、 系 統(tǒng) 組 裝 方 式 、 跟 蹤規(guī) 程 、 調(diào) 試 規(guī) 程 、 回 歸 測(cè) 試 的 規(guī) 定 以 及 評(píng) 價(jià) 標(biāo) 準(zhǔn) 等 。 第 7章 軟 件 測(cè) 試 技 術(shù) 7.1.2 軟 件 測(cè) 試 的 過 程 圖 7.1 測(cè) 試 的 過 程1測(cè)試軟件配置測(cè)試配置測(cè)試工具 測(cè)試結(jié)果 2評(píng)價(jià) 3調(diào)試錯(cuò)誤 修正文件結(jié)果預(yù)測(cè) 出錯(cuò)率4構(gòu)造可靠性模型 預(yù)測(cè)可靠性正確 第 7章 軟 件 測(cè) 試 技 術(shù) 測(cè) 試 過 程 有 三 類 輸 入 : 軟 件 配 置 、 測(cè) 試 配 置 和 測(cè) 試 工 具 。軟 件 配 置 包 括 軟 件 需 求
16、 說 明 書 、 設(shè) 計(jì) 說 明 書 、 源 程 序 清 單 等 文檔 。 測(cè) 試 配 置 包 括 測(cè) 試 方 案 、 測(cè) 試 計(jì) 劃 、 測(cè) 試 用 例 、 測(cè) 試 驅(qū) 動(dòng)程 序 等 文 檔 。 測(cè) 試 工 具 包 括 支 持 測(cè) 試 的 軟 件 。 輸 出 信 息 有 修 正軟 件 的 文 件 和 預(yù) 測(cè) 可 靠 性 或 得 出 糾 錯(cuò) 后 可 交 付 使 用 的 正 確 軟 件 。測(cè) 試 的 信 息 流 是 不 斷 遞 歸 的 過 程 , 也 是 相 對(duì) 有 限 的 測(cè) 試 過 程 ,而 不 是 無 限 的 過 程 。 (1) 軟 件 配 置 : 指 被 測(cè) 試 軟 件 的 文 件 ,
17、如 軟 件 需 求 規(guī) 格 說 明 書 、 軟 件 設(shè) 計(jì) 說 明 書 和 源 程 序 清 單 等 文 檔 。 第 7章 軟 件 測(cè) 試 技 術(shù) (2) 測(cè) 試 配 置 : 指 測(cè) 試 方 案 、 測(cè) 試 計(jì) 劃 、 測(cè) 試 用 例 、 測(cè) 試驅(qū) 動(dòng) 程 序 等 文 檔 。 實(shí) 際 上 , 在 整 個(gè) 軟 件 工 程 過 程 中 , 測(cè) 試 配 置只 是 軟 件 配 置 的 一 個(gè) 子 集 。 (3) 測(cè) 試 工 具 : 是 為 了 提 高 測(cè) 試 效 率 而 設(shè) 計(jì) 的 支 持 軟 件 測(cè)試 的 軟 件 。 例 如 , 測(cè) 試 數(shù) 據(jù) 自 動(dòng) 生 成 程 序 、 靜 態(tài) 分 析 程 序 、
18、動(dòng)態(tài) 分 析 程 序 、 測(cè) 試 結(jié) 果 分 析 程 序 以 及 驅(qū) 動(dòng) 測(cè) 試 的 測(cè) 試 數(shù) 據(jù) 庫 等 。 (4) 測(cè) 試 評(píng) 價(jià) : 由 測(cè) 試 出 的 錯(cuò) 誤 跡 象 , 分 析 、 找 出 錯(cuò) 誤 的原 因 和 位 置 , 以 便 糾 正 和 積 累 軟 件 設(shè) 計(jì) 的 經(jīng) 驗(yàn) 。 第 7章 軟 件 測(cè) 試 技 術(shù) (5) 糾 錯(cuò) (調(diào) 試 ): 是 指 找 到 出 錯(cuò) 的 原 因 與 位 置 并 糾 錯(cuò) , 包括 修 正 文 件 直 到 軟 件 正 確 為 止 。 糾 錯(cuò) 過 程 是 測(cè) 試 過 程 中 最 無 法預(yù) 料 的 部 分 。 為 了 診 斷 和 糾 正 一 個(gè) 錯(cuò) 誤
19、 , 可 能 需 要 一 小 時(shí) 、 一天 、 甚 至 幾 個(gè) 月 的 時(shí) 間 。 正 是 因 為 糾 錯(cuò) 本 身 所 具 有 的 不 確 定 性 ,常 常 難 以 準(zhǔn) 確 地 安 排 測(cè) 試 日 程 表 。 第 7章 軟 件 測(cè) 試 技 術(shù) (6) 可 靠 性 模 型 : 通 過 對(duì) 測(cè) 試 出 的 軟 件 出 錯(cuò) 率 的 分 析 , 建立 模 型 , 得 出 可 靠 的 數(shù) 據(jù) , 指 導(dǎo) 軟 件 的 設(shè) 計(jì) 與 維 護(hù) 。 對(duì) 測(cè) 試 結(jié)果 進(jìn) 行 收 集 和 評(píng) 價(jià) 后 , 軟 件 可 靠 性 能 夠 達(dá) 到 的 質(zhì) 量 指 標(biāo) 也 就 清楚 了 。 若 出 現(xiàn) 一 些 有 規(guī) 律 的
20、 、 嚴(yán) 重 的 、 要 求 修 改 設(shè) 計(jì) 的 錯(cuò) 誤 ,軟 件 的 質(zhì) 量 和 可 靠 性 值 得 懷 疑 , 應(yīng) 作 進(jìn) 一 步 測(cè) 試 。 另 外 , 若 軟件 功 能 看 來 完 成 得 很 好 且 遇 到 錯(cuò) 誤 也 容 易 糾 正 , 從 而 可 以 得 到兩 種 不 同 的 結(jié) 論 : 一 種 是 軟 件 質(zhì) 量 和 可 靠 性 是 可 以 接 受 的 ; 另一 種 是 所 進(jìn) 行 的 測(cè) 試 尚 不 足 以 發(fā) 現(xiàn) 嚴(yán) 重 的 錯(cuò) 誤 。 若 沒 有 發(fā) 現(xiàn) 任何 錯(cuò) 誤 , 可 能 是 由 于 測(cè) 試 配 置 不 夠 周 到 , 依 然 有 潛 在 的 錯(cuò) 誤 存在 。 若
21、 將 錯(cuò) 誤 放 過 , 在 維 護(hù) 階 段 被 用 戶 發(fā) 現(xiàn) 時(shí) 再 糾 正 的 話 , 所 需 費(fèi) 用 將 可 能 是 開 發(fā) 階 段 的 40 60倍 。 第 7章 軟 件 測(cè) 試 技 術(shù) 7.1.3 軟 件 測(cè) 試 的 方 法 軟 件 測(cè) 試 的 目 的 是 以 最 少 的 測(cè) 試 用 例 集 合 測(cè) 試 出 更 多 的 程序 中 潛 在 錯(cuò) 誤 。 如 何 測(cè) 試 的 徹 底 , 怎 樣 設(shè) 計(jì) 測(cè) 試 用 例 是 測(cè) 試 的關(guān) 鍵 技 術(shù) 。 依 據(jù) 測(cè) 試 過 程 是 否 在 實(shí) 際 應(yīng) 用 環(huán) 境 中 來 分 , 軟 件 測(cè)試 技 術(shù) 分 為 靜 態(tài) 分 析 技 術(shù) 與 動(dòng)
22、態(tài) 測(cè) 試 技 術(shù) 兩 種 。 測(cè) 試 方 法 有 分 析 方 法 (包 括 靜 態(tài) 分 析 法 與 白 盒 法 )與 非 分 析方 法 (稱 黑 盒 法 )之 分 。 有 關(guān) 白 盒 法 與 黑 盒 法 的 內(nèi) 容 將 在 后 兩 節(jié)中 介 紹 , 在 此 節(jié) 中 僅 介 紹 靜 態(tài) 分 析 技 術(shù) 與 動(dòng) 態(tài) 測(cè) 試 技 術(shù) 。 第 7章 軟 件 測(cè) 試 技 術(shù) 1. 靜 態(tài) 分 析 技 術(shù) 靜 態(tài) 分 析 技 術(shù) 不 執(zhí) 行 被 測(cè) 試 軟 件 , 可 對(duì) 需 求 分 析 說 明 書 、 軟件 設(shè) 計(jì) 說 明 書 、 源 程 序 做 結(jié) 構(gòu) 檢 查 、 流 圖 分 析 、 符 號(hào) 執(zhí) 行
23、 等 來 找出 軟 件 錯(cuò) 誤 。 可 以 人 工 進(jìn) 行 分 析 , 也 可 以 用 測(cè) 試 工 具 靜 態(tài) 分 析 程序 來 進(jìn) 行 , 被 測(cè) 試 程 序 的 正 文 作 為 輸 入 , 經(jīng) 靜 態(tài) 分 析 程 序 分 析 得出 分 析 結(jié) 果 。 (1) 結(jié) 構(gòu) 檢 查 是 手 工 分 析 技 術(shù) , 由 一 組 人 員 對(duì) 程 序 設(shè) 計(jì) 、 需求 分 析 、 編 碼 測(cè) 試 工 作 進(jìn) 行 評(píng) 議 , 虛 擬 執(zhí) 行 程 序 , 并 在 評(píng) 議 中 作錯(cuò) 誤 檢 驗(yàn) 。 此 方 法 能 找 出 典 型 程 序 30% 70% 有 關(guān) 邏 輯 設(shè) 計(jì) 與 編 碼 的 錯(cuò) 誤 。 第
24、7章 軟 件 測(cè) 試 技 術(shù) (2) 流 圖 分 析 是 通 過 分 析 程 序 流 程 圖 的 代 碼 結(jié) 構(gòu) , 來 檢 查 程序 的 語 法 錯(cuò) 誤 信 息 、 語 句 中 標(biāo) 識(shí) 符 引 用 狀 況 、 子 程 序 和 函 數(shù) 調(diào)用 狀 況 及 無 法 執(zhí) 行 到 的 代 碼 段 。 此 方 法 便 于 分 析 編 碼 實(shí) 現(xiàn) 與 測(cè)試 結(jié) 果 分 析 。 (3) 符 號(hào) 執(zhí) 行 是 一 種 符 號(hào) 化 定 義 數(shù) 據(jù) , 并 為 程 序 每 條 路 徑給 出 符 號(hào) 表 達(dá) 式 , 對(duì) 特 定 路 徑 輸 入 符 號(hào) , 經(jīng) 處 理 輸 出 符 號(hào) , 從而 判 斷 程 序 行 為
25、是 否 錯(cuò) 誤 , 達(dá) 到 分 析 錯(cuò) 誤 目 的 的 方 法 。 這 種 方法 比 數(shù) 值 計(jì) 算 復(fù) 雜 得 多 , 易 出 錯(cuò) , 又 不 適 于 非 數(shù) 值 計(jì) 算 , 故 使用 較 少 。 第 7章 軟 件 測(cè) 試 技 術(shù) 2. 動(dòng) 態(tài) 測(cè) 試 技 術(shù) 動(dòng) 態(tài) 分 析 是 執(zhí) 行 被 測(cè) 程 序 , 由 執(zhí) 行 結(jié) 果 分 析 程 序 可 能 出 現(xiàn)的 錯(cuò) 誤 。 可 以 人 工 設(shè) 計(jì) 程 序 測(cè) 試 用 例 , 也 可 以 由 測(cè) 試 工 具 動(dòng) 態(tài)分 析 程 序 來 做 檢 查 與 分 析 。 動(dòng) 態(tài) 測(cè) 試 包 括 功 能 測(cè) 試 和 結(jié) 構(gòu) 測(cè) 試 。它 把 程 序 看 作
26、 為 一 個(gè) 函 數(shù) , 輸 入 的 全 體 稱 為 函 數(shù) 的 定 義 域 , 輸出 的 全 體 稱 為 函 數(shù) 的 值 域 , 函 數(shù) 則 描 述 了 輸 入 的 定 義 域 與 輸 出值 域 的 關(guān) 系 。 這 樣 動(dòng) 態(tài) 測(cè) 試 的 算 法 可 歸 納 為 第 7章 軟 件 測(cè) 試 技 術(shù) (1) 選 取 定 義 域 中 的 有 效 值 , 或 定 義 域 外 無 效 值 。(2) 對(duì) 已 選 取 值 決 定 預(yù) 期 的 結(jié) 果 。(3) 用 選 取 值 執(zhí) 行 程 序 。(4) 觀 察 程 序 行 為 , 記 錄 執(zhí) 行 結(jié) 果 。(5) 將 (4)的 結(jié) 果 與 (2)的 結(jié) 果
27、相 比 較 , 不 吻 合 則 程 序 有 錯(cuò) 。 動(dòng) 態(tài) 測(cè) 試 既 可 以 采 用 白 盒 法 對(duì) 模 塊 進(jìn) 行 邏 輯 結(jié) 構(gòu) 的 測(cè) 試 ,又 可 以 用 黑 盒 法 做 功 能 結(jié) 構(gòu) 的 測(cè) 試 。 接 口 的 測(cè) 試 , 都 是 以 執(zhí) 行程 序 并 分 析 執(zhí) 行 結(jié) 果 來 查 錯(cuò) 的 。 第 7章 軟 件 測(cè) 試 技 術(shù) 7.2 白 盒 測(cè) 試 技 術(shù)7.2.1 白 盒 測(cè) 試 概 念 如 果 已 知 產(chǎn) 品 的 內(nèi) 部 活 動(dòng) 方 式 , 就 可 以 測(cè) 試 它 的 內(nèi) 部 活 動(dòng)是 否 都 符 合 設(shè) 計(jì) 要 求 。 這 種 方 法 稱 白 盒 測(cè) 試 (White-
28、box Testing), 它 是 對(duì) 軟 件 的 過 程 性 細(xì) 節(jié) 做 細(xì) 致 的 檢 查 。 白 盒 測(cè) 試 又 稱 為 結(jié) 構(gòu) 測(cè) 試 或 邏 輯 驅(qū) 動(dòng) 測(cè) 試 , 此 方 法 是 將 測(cè)試 對(duì) 象 比 作 一 個(gè) 打 開 的 盒 子 , 它 允 許 測(cè) 試 人 員 利 用 程 序 內(nèi) 部 的邏 輯 結(jié) 構(gòu) 和 相 關(guān) 信 息 來 設(shè) 計(jì) 或 選 擇 測(cè) 試 用 例 , 對(duì) 穿 過 軟 件 的 邏輯 路 徑 進(jìn) 行 測(cè) 試 , 可 以 在 不 同 點(diǎn) 檢 查 程 序 的 狀 態(tài) , 以 確 定 實(shí) 際 狀 態(tài) 與 預(yù) 期 狀 態(tài) 是 否 一 致 。 第 7章 軟 件 測(cè) 試 技 術(shù)
29、軟 件 人 員 使 用 白 盒 方 法 測(cè) 試 程 序 模 塊 的 檢 查 點(diǎn) 主 要 包 括 : 對(duì)程 序 模 塊 的 所 有 獨(dú) 立 的 執(zhí) 行 路 徑 應(yīng) 至 少 測(cè) 試 一 次 ; 對(duì) 所 有 的 邏 輯判 定 , 取 “ 真 ” 與 取 “ 假 ” 兩 種 情 況 都 能 至 少 測(cè) 試 一 次 ; 在 循 環(huán)的 邊 界 和 運(yùn) 行 界 限 內(nèi) 執(zhí) 行 循 環(huán) 體 ; 測(cè) 試 內(nèi) 部 數(shù) 據(jù) 結(jié) 構(gòu) 的 有 效 性 等 。 表 面 看 來 , 白 盒 測(cè) 試 是 可 以 進(jìn) 行 完 全 的 測(cè) 試 的 , 從 理 論 上 講也 應(yīng) 該 如 此 。 只 要 能 確 定 測(cè) 試 模 塊
30、的 所 有 邏 輯 路 徑 , 并 為 每 一 條邏 輯 路 徑 設(shè) 計(jì) 測(cè) 試 用 例 , 并 評(píng) 價(jià) 所 得 到 的 結(jié) 果 , 就 可 得 到 100%正確 的 程 序 。 但 實(shí) 際 測(cè) 試 中 , 這 種 窮 舉 法 是 無 法 實(shí) 現(xiàn) 的 , 因 為 即 使是 很 小 的 程 序 , 也 可 能 會(huì) 出 現(xiàn) 數(shù) 目 驚 人 的 邏 輯 路 徑 。 如 圖 7-2所 示 是 一 個(gè) 小 程 序 的 流 程 圖 。 第 7章 軟 件 測(cè) 試 技 術(shù) 圖 中 , 一 個(gè) 圓 圈 代 表 一 行 源 程 序 代 碼 (或 一 個(gè) 語 句 塊 )。 其中 有 五 條 通 路 , 左 邊 曲
31、線 箭 頭 表 示 執(zhí) 行 次 數(shù) 不 超 過 20次 循 環(huán) 。這 樣 的 執(zhí) 行 路 徑 就 有 520個(gè) , 近 似 為 1014個(gè) 可 能 的 路 徑 。 如 果 1 ms完 成 一 個(gè) 測(cè) 試 , 由 此 測(cè) 試 程 序 需 3170年 。 由 此 看 出 , 即 使 精 確 地 實(shí) 現(xiàn) 了 白 盒 測(cè) 試 , 也 不 能 斷 言 測(cè) 試過 的 程 序 全 正 確 , 因 為 實(shí) 行 窮 舉 測(cè) 試 , 由 于 工 作 量 過 大 , 需 用時(shí) 間 過 長 , 實(shí) 施 起 來 是 不 現(xiàn) 實(shí) 的 。 這 就 是 程 序 測(cè) 試 的 經(jīng) 濟(jì) 學(xué) 問題 。 既 然 在 測(cè) 試 階 段 窮
32、 舉 法 測(cè) 試 是 不 可 行 的 , 那 么 為 了 節(jié) 省 時(shí)間 和 資 源 , 提 高 測(cè) 試 效 率 , 就 必 須 精 心 設(shè) 計(jì) 測(cè) 試 用 例 。 需 從 大量 的 可 用 測(cè) 試 用 例 中 精 選 出 少 量 的 測(cè) 試 數(shù) 據(jù) , 使 得 采 用 這 些 測(cè) 試 數(shù) 據(jù) 能 夠 達(dá) 到 最 佳 的 測(cè) 試 效 果 , 即 能 高 效 地 、 盡 可 能 多 地 發(fā)現(xiàn) 隱 藏 的 錯(cuò) 誤 。 測(cè) 試 只 能 發(fā) 現(xiàn) 錯(cuò) 誤 , 并 不 能 保 證 程 序 沒 有 錯(cuò) 誤 。 第 7章 軟 件 測(cè) 試 技 術(shù) 循環(huán)小于等 于20次 圖 7.2 白 盒 測(cè) 試 中 的 窮 舉
33、測(cè) 試 第 7章 軟 件 測(cè) 試 技 術(shù) 7.2.2 白 盒 測(cè) 試 的 測(cè) 試 用 例 設(shè) 計(jì) 測(cè) 試 用 例 設(shè) 計(jì) 的 基 本 目 的 是 確 定 一 組 最 有 可 能 發(fā) 現(xiàn) 某 個(gè) 錯(cuò)誤 或 某 類 錯(cuò) 誤 的 測(cè) 試 數(shù) 據(jù) 。 無 論 是 黑 盒 測(cè) 試 (下 節(jié) 內(nèi) 容 介 紹 ),還 是 白 盒 測(cè) 試 都 不 可 能 進(jìn) 行 窮 舉 測(cè) 試 , 所 以 測(cè) 試 用 例 的 設(shè) 計(jì) 只能 在 周 期 和 經(jīng) 費(fèi) 允 許 的 條 件 下 , 使 用 最 少 數(shù) 目 的 測(cè) 試 用 例 , 發(fā)現(xiàn) 最 大 數(shù) 目 可 能 的 錯(cuò) 誤 。 實(shí) 際 工 作 中 , 采 用 黑 盒 與
34、 白 盒 相 結(jié) 合 的 技 術(shù) 是 較 為 合 理 的做 法 , 可 以 選 取 并 測(cè) 試 數(shù) 量 有 限 的 重 要 邏 輯 路 徑 , 對(duì) 一 些 重 要數(shù) 據(jù) 結(jié) 構(gòu) 的 正 確 性 進(jìn) 行 完 全 的 檢 查 。 這 樣 不 僅 能 證 實(shí) 軟 件 接 口的 正 確 性 , 同 時(shí) 在 某 種 程 度 上 能 保 證 軟 件 內(nèi) 部 工 作 也 是 正 確 的 。 第 7章 軟 件 測(cè) 試 技 術(shù) 現(xiàn) 在 已 經(jīng) 提 出 了 許 多 測(cè) 試 用 例 的 設(shè) 計(jì) 技 術(shù) 。 下 面 只 對(duì) 白 盒測(cè) 試 的 重 要 測(cè) 試 方 法 進(jìn) 行 介 紹 , 黑 盒 測(cè) 試 的 方 法 將
35、在 下 節(jié) 內(nèi) 容中 介 紹 。 邏 輯 覆 蓋 是 以 程 序 內(nèi) 部 邏 輯 為 基 礎(chǔ) 的 測(cè) 試 技 術(shù) , 屬 白 盒 測(cè)試 。 這 一 測(cè) 試 考 慮 測(cè) 試 用 例 對(duì) 程 序 內(nèi) 部 邏 輯 覆 蓋 的 程 度 。 當(dāng) 然 ,最 徹 底 的 覆 蓋 是 覆 蓋 程 序 中 的 每 一 條 路 徑 , 但 是 由 于 程 序 中 可能 會(huì) 含 有 循 環(huán) , 路 徑 的 數(shù) 目 將 極 大 , 要 執(zhí) 行 每 一 條 路 徑 是 不 可能 的 , 所 以 只 希 望 覆 蓋 的 程 度 盡 可 能 高 些 。 目 前 常 用 的 一 些 覆 蓋 技 術(shù) 有 以 下 八 種 。 第
36、 7章 軟 件 測(cè) 試 技 術(shù) 1. 語 句 覆 蓋 語 句 覆 蓋 的 含 義 是 選 擇 足 夠 多 的 測(cè) 試 用 例 , 使 得 被 測(cè) 程 序中 的 每 條 語 句 至 少 執(zhí) 行 一 次 。 圖 7.3是 測(cè) 試 的 一 段 程 序 的 流 程 圖對(duì) 應(yīng) 的 C源 程 序 (用 C語 言 書 寫 )。float A, B, X; if(A 1 if(A= =2|X1) X=X+1; 第 7章 軟 件 測(cè) 試 技 術(shù) 為 了 使 每 條 語 句 都 執(zhí) 行 一 次 , 程 序 應(yīng) 該 按 sacbed路 徑 執(zhí) 行 ,為 實(shí) 現(xiàn) 此 路 徑 而 選 取 下 面 的 一 組 輸 入 數(shù)
37、 據(jù) (實(shí) 際 上 X可 以 是 任 意實(shí) 數(shù) ): A=2, B=0, X=2 第 7章 軟 件 測(cè) 試 技 術(shù) 通 過 上 例 可 以 看 出 , 這 組 數(shù) 據(jù) 只 測(cè) 試 了 條 件 為 真 的 情 況 , 若實(shí) 際 輸 入 的 條 件 為 假 時(shí) 有 錯(cuò) 誤 顯 然 測(cè) 試 不 出 來 。 事 實(shí) 上 , 語 句 覆蓋 對(duì) 程 序 的 邏 輯 覆 蓋 很 少 , 語 句 覆 蓋 只 關(guān) 心 判 定 表 達(dá) 式 的 值 , 而沒 有 分 別 測(cè) 試 判 定 表 達(dá) 式 中 每 個(gè) 條 件 取 不 同 值 的 情 況 。 在 上 例 中 ,為 了 執(zhí) 行 sacbed路 徑 以 測(cè) 試
38、每 個(gè) 語 句 , 只 需 兩 個(gè) 判 定 表 達(dá) (A1)AND(B=0)和 (A=2)OR(X 1)都 取 真 值 , 上 例 中 測(cè) 試 數(shù) 據(jù) 足 夠 滿足 要 求 。 但 是 , 若 程 序 中 第 一 個(gè) 判 斷 表 達(dá) 式 中 的 邏 輯 運(yùn) 算 符“ AND” 錯(cuò) 寫 成 “ OR” , 或 把 第 二 個(gè) 判 定 表 達(dá) 式 中 的 條 件 “ X 1”誤 寫 成 “ X 1” , 上 組 測(cè) 試 數(shù) 據(jù) 則 不 符 要 求 , 不 能 查 出 這 些 錯(cuò) 誤 。與 后 面 所 介 紹 的 其 他 覆 蓋 相 比 , 語 句 覆 蓋 是 最 弱 的 邏 輯 覆 蓋 準(zhǔn) 則 。
39、 第 7章 軟 件 測(cè) 試 技 術(shù) 2. 判 定 覆 蓋 判 定 覆 蓋 就 是 設(shè) 計(jì) 若 干 個(gè) 測(cè) 試 用 例 , 運(yùn) 行 所 測(cè) 程 序 , 使 得 程序 中 每 個(gè) 判 斷 的 取 真 分 支 和 取 假 分 支 至 少 經(jīng) 歷 一 次 。 判 定 覆 蓋 又稱 為 分 支 覆 蓋 。 判 定 覆 蓋 的 每 個(gè) 語 句 至 少 經(jīng) 歷 一 次 。 例 如 對(duì) 于 圖 7.3來 說 , 能 夠 分 別 覆 蓋 路 徑 sacbed和 sabd的 一 組測(cè) 試 數(shù) 據(jù) , 或 者 覆 蓋 路 徑 sacbd和 sabed的 兩 組 測(cè) 試 數(shù) 據(jù) 均 可 滿 足判 定 覆 蓋 標(biāo) 準(zhǔn)
40、。 例 如 , 以 兩 組 測(cè) 試 數(shù) 據(jù) 就 可 做 到 判 定 覆 蓋 : (1) A=4, B=0, X=1(覆 蓋 sacbd); (2) A=2, B=1, X=3(覆 蓋 sabed)。 判 定 覆 蓋 的 缺 點(diǎn) 仍 然 是 覆 蓋 的 不 全 , 只 覆 蓋 了 路 徑 的 一 半 ,如 將 X 1誤 寫 成 X 1, 上 組 (1)數(shù) 據(jù) 仍 覆 蓋 sacbd, 可 見 判 定 覆 蓋 仍 然 很 弱 , 但 比 語 句 覆 蓋 強(qiáng) 。 第 7章 軟 件 測(cè) 試 技 術(shù) 入口A1AND B0 XX/A1 2sa A2OR X1b cXX13 e4567FF返回d TT圖 7
41、.3 語 句 覆 蓋 第 7章 軟 件 測(cè) 試 技 術(shù) 3. 條 件 覆 蓋 條 件 覆 蓋 就 是 設(shè) 計(jì) 若 干 個(gè) 測(cè) 試 用 例 , 運(yùn) 行 所 測(cè) 程 序 , 使 得 程序 中 每 個(gè) 判 斷 的 每 個(gè) 條 件 的 可 能 取 值 至 少 執(zhí) 行 一 次 。 條 件 覆 蓋 使得 每 個(gè) 語 句 至 少 執(zhí) 行 一 次 。 例 如 對(duì) 于 圖 7.3來 說 , 共 有 兩 個(gè) 判 定 表 達(dá) 式 , 每 個(gè) 表 達(dá) 式 中有 兩 個(gè) 條 件 。 為 滿 足 條 件 覆 蓋 , 在 a點(diǎn) 有 以 下 幾 種 情 況 出 現(xiàn) : A1, A 1, B 0, B 0; 在 b點(diǎn) 有 以
42、下 幾 種 情 況 出 現(xiàn) : A=2, A 2,X 1, X 1。 因 而 , 只 需 要 使 用 下 面 兩 組 測(cè) 試 數(shù) 據(jù) 就 可 達(dá) 到 上 述 覆 蓋 標(biāo) 準(zhǔn) 。 第 7章 軟 件 測(cè) 試 技 術(shù) (1) A=2, B=0, X=3(滿 足 A 1, B 0, A=2和 X 1的 條件 , 執(zhí) 行 路 徑 sacbed); (2) A=0, B=1, X=0(滿 足 A 1, B 0, A 2和 X 1的 條件 執(zhí) 行 路 徑 sabd)。 第 7章 軟 件 測(cè) 試 技 術(shù) 條 件 覆 蓋 一 般 比 判 定 覆 蓋 強(qiáng) , 因 為 條 件 覆 蓋 使 判 定 表 達(dá) 式 中每
43、個(gè) 條 件 都 取 到 了 兩 個(gè) 不 同 的 結(jié) 果 , 判 定 覆 蓋 卻 只 關(guān) 心 整 個(gè) 判 定表 達(dá) 式 的 值 。 上 例 兩 組 測(cè) 試 數(shù) 據(jù) 也 同 時(shí) 滿 足 判 定 覆 蓋 標(biāo) 準(zhǔn) 。 但 是 ,也 可 能 有 相 反 情 況 : 雖 然 每 個(gè) 條 件 都 取 到 了 兩 個(gè) 不 同 的 結(jié) 果 , 判定 表 達(dá) 式 卻 始 終 只 取 一 個(gè) 值 。 例 如 , 若 使 用 以 下 兩 組 測(cè) 試 數(shù) 據(jù) ,則 只 滿 足 條 件 覆 蓋 標(biāo) 準(zhǔn) 并 不 滿 足 判 定 覆 蓋 標(biāo) 準(zhǔn) 。 (1) A=2, B=0, X=1(滿 足 A 1, B 0, A=2和 X
44、 1的 條 件 ,執(zhí) 行 路 徑 sacbed); (2) A=1, B=1, X=2 (滿 足 A 1, B 0, A 2和 X 1的 條 件 ,執(zhí) 行 路 徑 sabed)。 上 述 例 子 的 第 二 個(gè) 判 定 表 達(dá) 式 的 值 總 為 真 , 不 滿 足 判 定 覆 蓋的 要 求 , 為 解 決 這 一 矛 盾 , 需 要 對(duì) 條 件 和 分 支 兼 顧 。 第 7章 軟 件 測(cè) 試 技 術(shù) 4. 判 定 /條 件 覆 蓋 判 定 /條 件 覆 蓋 就 是 設(shè) 計(jì) 足 夠 的 測(cè) 試 用 例 , 使 得 判 斷 中 每 個(gè)條 件 的 所 有 可 能 取 值 至 少 執(zhí) 行 一 次
45、, 同 時(shí) 每 個(gè) 判 斷 的 所 有 可 能 判斷 結(jié) 果 至 少 執(zhí) 行 一 次 。 即 要 求 各 個(gè) 判 斷 的 所 有 可 能 的 條 件 取 值 組合 至 少 執(zhí) 行 一 次 。 對(duì) 于 圖 7.3的 例 子 而 言 , 下 述 兩 組 測(cè) 試 數(shù) 據(jù) 滿 足 判 定 /條 件 覆蓋 標(biāo) 準(zhǔn) 。(1) A=2, B=0, X=4;(2) A=1, B=1, X=1。 第 7章 軟 件 測(cè) 試 技 術(shù) 判 定 /條 件 覆 蓋 也 有 缺 陷 。 從 表 面 來 看 , 它 測(cè) 試 了 所 有 條 件的 取 值 。 但 實(shí) 際 并 不 是 這 樣 。 因 為 一 些 條 件 往 往
46、掩 蓋 了 另 一 些條 件 。 對(duì) 于 條 件 表 達(dá) 式 (A 1)AND(B=0)來 說 , 只 要 (A 1)的 測(cè)試 為 真 , 才 需 測(cè) 試 (B=0)的 值 來 確 定 此 表 達(dá) 式 的 值 , 但 是 若 (A1)的 測(cè) 試 值 為 假 時(shí) , 不 需 再 測(cè) (B=0)的 值 就 可 確 定 此 表 達(dá) 式 的 值為 假 , 因 而 B=0沒 有 被 檢 查 。 同 理 , 對(duì) 于 (A=2)OR(X 1)這 個(gè) 表達(dá) 式 來 說 , 只 要 (A=2)測(cè) 試 結(jié) 果 為 真 , 不 必 測(cè) 試 (X 1)的 結(jié) 果 就可 確 定 表 達(dá) 式 的 值 為 真 。 所 以
47、對(duì) 于 判 定 /條 件 覆 蓋 來 說 , 邏 輯 表達(dá) 式 中 的 錯(cuò) 誤 不 一 定 能 夠 查 得 出 來 。 第 7章 軟 件 測(cè) 試 技 術(shù) 5. 條 件 組 合 覆 蓋 條 件 組 合 覆 蓋 就 是 設(shè) 計(jì) 足 夠 的 測(cè) 試 用 例 , 運(yùn) 行 所 測(cè) 程 序 ,使 得 每 個(gè) 判 斷 的 所 有 可 能 的 條 件 取 值 組 合 至 少 執(zhí) 行 一 次 。 對(duì) 于 圖 7.3的 例 子 來 說 , 共 有 以 下 八 種 可 能 的 條 件 組 合 :(1) A 1, B=0 屬 第 一 個(gè) 判 斷 的 取 真 分 支 ;(2) A 1, B 0 屬 第 一 個(gè) 判 斷
48、的 取 假 分 支 ;(3) A 1, B=0 屬 第 一 個(gè) 判 斷 的 取 假 分 支 ; 第 7章 軟 件 測(cè) 試 技 術(shù) (4) A 1, B 0 屬 第 一 個(gè) 判 斷 的 取 假 分 支 ;(5) A 2, X 1 屬 第 二 個(gè) 判 斷 的 取 真 分 支 ;(6) A 2, X 1 屬 第 二 個(gè) 判 斷 的 取 真 分 支 ;(7) A 2, X 1 屬 第 二 個(gè) 判 斷 的 取 真 分 支 ;(8) A 2, X 1 屬 第 二 個(gè) 判 斷 的 取 假 分 支 。 第 7章 軟 件 測(cè) 試 技 術(shù) 對(duì) 于 每 個(gè) 判 斷 , 要 求 所 有 可 能 的 條 件 的 取 值
49、 組 合 都 必 須 取到 。 在 圖 7.3中 , 每 個(gè) 判 斷 各 有 兩 個(gè) 條 件 , 所 以 各 有 四 個(gè) 條 件 取值 的 組 合 。 下 面 的 四 組 測(cè) 試 數(shù) 據(jù) 可 以 使 上 面 列 出 的 八 種 組 合 每種 至 少 出 現(xiàn) 一 次 : (1) A=2, B=0, X=4 (針 對(duì) (1), (5)兩 種 組 合 , 執(zhí) 行 路 徑sacbed); (2) A=2, B=1, X=1 (針 對(duì) (2), (6)兩 種 組 合 , 執(zhí) 行 路 徑sabed); (3) A=1, B=0, X=2 (針 對(duì) (3), (7)兩 種 組 合 , 執(zhí) 行 路 徑sabe
50、d); (4) A=1, B=1, X=1 (針 對(duì) (4), (8)兩 種 組 合 , 執(zhí) 行 路 徑 sabd)。 第 7章 軟 件 測(cè) 試 技 術(shù) 必 須 明 確 : 在 此 例 中 條 件 組 合 覆 蓋 并 未 要 求 第 一 個(gè) 判 定 的 四個(gè) 組 合 與 第 二 個(gè) 判 定 的 四 個(gè) 組 合 再 進(jìn) 行 組 合 , 要 那 樣 的 話 , 就 需42=16個(gè) 測(cè) 試 用 例 了 。 顯 然 , 滿 足 條 件 組 合 覆 蓋 標(biāo) 準(zhǔn) 的 測(cè) 試 數(shù) 據(jù) ,也 一 定 滿 足 判 定 覆 蓋 、 條 件 覆 蓋 和 判 定 /條 件 覆 蓋 標(biāo) 準(zhǔn) 。 因 此 ,條 件 組 合
51、 覆 蓋 是 前 述 幾 種 覆 蓋 標(biāo) 準(zhǔn) 中 最 強(qiáng) 的 。 但 是 , 滿 足 條 件 覆蓋 標(biāo) 準(zhǔn) 的 測(cè) 試 數(shù) 據(jù) 并 不 一 定 能 使 程 序 中 的 每 條 路 徑 都 執(zhí) 行 到 , 如上 述 四 組 測(cè) 試 數(shù) 據(jù) 都 沒 有 測(cè) 試 到 路 徑 sacbd。 以 上 簡(jiǎn) 單 介 紹 了 幾 種 邏 輯 覆 蓋 標(biāo) 準(zhǔn) 。 在 上 述 過 程 中 , 實(shí) 現(xiàn) 了多 次 涉 及 到 測(cè) 試 數(shù) 據(jù) 執(zhí) 行 的 路 徑 測(cè) 試 。 顯 然 , 測(cè) 試 數(shù) 據(jù) 可 檢 測(cè) 的程 序 路 徑 的 多 少 也 反 映 了 對(duì) 程 序 測(cè) 試 的 詳 盡 程 度 。 從 對(duì) 程 序
52、路 徑 的 覆 蓋 程 度 分 析 , 下 面 提 出 一 些 主 要 的 邏 輯 覆 蓋 標(biāo) 準(zhǔn) 。 第 7章 軟 件 測(cè) 試 技 術(shù) 6. 點(diǎn) 覆 蓋 點(diǎn) 覆 蓋 是 設(shè) 計(jì) 足 夠 的 測(cè) 試 數(shù) 據(jù) , 使 程 序 執(zhí) 行 時(shí) 至 少 經(jīng) 過 程序 圖 中 每 個(gè) 節(jié) 點(diǎn) 一 次 。 圖 論 中 , 點(diǎn) 覆 蓋 的 概 念 定 義 如 下 : 如 果連 通 圖 G的 子 圖 G是 連 通 的 , 且 包 含 G的 所 有 節(jié) 點(diǎn) , 則 稱 G是 G的點(diǎn) 覆 蓋 。 在 正 常 情 況 下 , 程 序 圖 是 連 通 的 有 向 圖 , 圖 中 每 個(gè) 節(jié)點(diǎn) 相 當(dāng) 于 程 序 流 程
53、 圖 中 的 一 框 (一 個(gè) 或 多 個(gè) 語 句 ), 所 以 點(diǎn) 覆 蓋相 當(dāng) 于 語 句 覆 蓋 。 第 7章 軟 件 測(cè) 試 技 術(shù) 7. 邊 覆 蓋 邊 覆 蓋 是 設(shè) 計(jì) 足 夠 的 測(cè) 試 數(shù) 據(jù) , 使 得 程 序 執(zhí) 行 路 徑 至 少 經(jīng)過 程 序 圖 中 每 一 個(gè) 邊 一 次 , 相 應(yīng) 的 圖 論 中 的 定 義 是 : 如 果 連 通圖 G和 子 圖 G是 連 通 的 , 而 且 G包 含 G的 所 有 邊 , 則 稱 G是 G的 邊覆 蓋 。 圖 7.4是 由 圖 7.3得 出 的 程 序 圖 。 為 了 使 程 序 執(zhí) 行 路 徑 經(jīng) 過 程 序 圖 的 邊 覆
54、 蓋 (1, 2, 3, 4, 5,6, 7), 至 少 需 要 兩 組 測(cè) 試 數(shù) 據(jù) (分 別 執(zhí) 行 路 徑 1-2-3和 1-4-5-6-7, 或 分 別 執(zhí) 行 路 徑 1-4-5-3和 1-2-6-7)。 第 7章 軟 件 測(cè) 試 技 術(shù) 一 般 情 況 下 , 邊 覆 蓋 和 判 定 覆 蓋 是 一 致 的 。 例 如 , 上 述 中滿 足 判 定 覆 蓋 標(biāo) 準(zhǔn) 的 測(cè) 試 數(shù) 據(jù) 同 時(shí) 滿 足 邊 覆 蓋 的 標(biāo) 準(zhǔn) 。(1) A=4, B=0, X=1(執(zhí) 行 路 徑 1-4-5-3, 即 覆 蓋 sacbd);(2) A=2, B=1, X=3(執(zhí) 行 路 徑 1-2-
55、6-7, 即 覆 蓋 sacbd)。 第 7章 軟 件 測(cè) 試 技 術(shù) 1sa bd 23 ec4567圖 7.4 和 圖 7.3對(duì) 應(yīng) 的 程 序 圖 第 7章 軟 件 測(cè) 試 技 術(shù) 8 . 路 徑 覆 蓋 路 徑 覆 蓋 是 選 取 足 夠 多 測(cè) 試 數(shù) 據(jù) , 使 程 序 的 每 條 可 能 路 徑都 至 少 執(zhí) 行 一 次 (若 程 序 圖 中 存 在 環(huán) , 則 要 求 每 個(gè) 環(huán) 至 少 經(jīng) 過 一次 )。 對(duì) 于 圖 7.4而 言 , 共 有 四 條 可 執(zhí) 行 的 路 徑 : 1-2-3; 1-2-6-7;1-4-5-3和 1-4-5-6-7。 對(duì) 應(yīng) 于 這 四 條 路
56、徑 , 下 面 四 組 測(cè) 試 數(shù) 據(jù)可 以 滿 足 路 徑 覆 蓋 標(biāo) 準(zhǔn) :(1) A=1, B=1, X=1(執(zhí) 行 路 徑 1-2-3);(2) A=1, B=1, X=2(執(zhí) 行 路 徑 1-2-6-7);(3) A=3, B=0, X=1(執(zhí) 行 路 徑 1-4-5-3); (4) A=2, B=0, X=4(執(zhí) 行 路 徑 1-4-5-6-7)。 第 7章 軟 件 測(cè) 試 技 術(shù) 路 徑 覆 蓋 相 對(duì) 來 說 是 相 當(dāng) 強(qiáng) 的 邏 輯 覆 蓋 標(biāo) 準(zhǔn) 。 測(cè) 試 數(shù) 據(jù) 暴露 程 序 錯(cuò) 誤 的 能 力 比 較 強(qiáng) , 有 一 定 的 代 表 性 , 它 能 夠 保 證 程
57、序中 每 條 可 能 的 路 徑 都 至 少 執(zhí) 行 一 次 。 但 是 路 徑 覆 蓋 并 沒 有 檢 驗(yàn)表 達(dá) 式 中 條 件 的 各 種 組 合 情 況 , 而 只 考 慮 每 個(gè) 判 定 表 達(dá) 式 的 取值 。 若 把 路 徑 覆 蓋 和 條 件 覆 蓋 組 合 起 來 , 可 以 設(shè) 計(jì) 出 檢 錯(cuò) 能 力更 強(qiáng) 的 測(cè) 試 數(shù) 據(jù) 。 第 7章 軟 件 測(cè) 試 技 術(shù) 7.3 黑 盒 測(cè) 試 技 術(shù)7.3.1 黑 盒 測(cè) 試 概 念 黑 盒 測(cè) 試 方 法 是 在 已 知 產(chǎn) 品 應(yīng) 該 具 有 的 功 能 的 情 況 下 , 通 過 測(cè) 試 來 檢 驗(yàn)是 否 每 個(gè) 功 能 都
58、 能 正 常 使 用 的 測(cè) 試 方 法 。 對(duì) 于 軟 件 測(cè) 試 而 言 , 黑 盒 測(cè) 試 法 把程 序 看 成 一 個(gè) 黑 盒 子 , 完 全 不 考 慮 程 序 的 內(nèi) 部 結(jié) 構(gòu) 和 處 理 過 程 。 黑 盒 測(cè) 試 是在 程 序 接 口 進(jìn) 行 的 測(cè) 試 , 它 只 檢 查 程 序 功 能 是 否 能 按 照 規(guī) 格 說 明 書 的 規(guī) 定 正常 使 用 , 程 序 是 否 能 適 當(dāng) 地 接 收 輸 入 數(shù) 據(jù) 產(chǎn) 生 正 確 的 輸 出 信 息 , 并 且 保 持 外部 信 息 (如 數(shù) 據(jù) 庫 或 文 件 )的 完 整 性 。 黑 盒 測(cè) 試 又 稱 功 能 測(cè) 試 。
59、 使 用 黑 盒 測(cè) 試法 , 為 了 做 到 窮 盡 測(cè) 試 , 至 少 必 須 對(duì) 所 有 輸 入 數(shù) 據(jù) 的 各 種 可 能 值 的 排 列 組 合 都 進(jìn) 行 測(cè) 試 。 與 白 盒 法 相 似 , 由 此 得 到 的 應(yīng) 測(cè) 試 的 情 況 數(shù) 往 往 大 到 實(shí) 際 上 根本 無 法 測(cè) 試 的 程 度 , 即 黑 盒 測(cè) 試 使 用 所 有 有 效 和 無 效 的 輸 入 數(shù) 據(jù) 來 測(cè) 試 程 序是 不 現(xiàn) 實(shí) 的 。 所 以 , 黑 盒 測(cè) 試 同 樣 不 能 做 到 窮 盡 測(cè) 試 , 只 能 選 取 少 量 最 有 代表 性 的 輸 入 數(shù) 據(jù) , 以 期 用 較 少 的
60、 代 價(jià) 暴 露 出 較 多 的 程 序 錯(cuò) 誤 。 第 7章 軟 件 測(cè) 試 技 術(shù) 7.3.2 黑 盒 測(cè) 試 的 測(cè) 試 用 例 設(shè) 計(jì) 1. 等 價(jià) 類 劃 分 1) 劃 分 等 價(jià) 類 等 價(jià) 類 劃 分 是 黑 盒 法 設(shè) 計(jì) 測(cè) 試 方 案 的 一 種 典 型 的 、 實(shí) 用 的重 要 測(cè) 試 方 法 。 等 價(jià) 類 劃 分 是 根 據(jù) 數(shù) 據(jù) 測(cè) 試 的 等 效 性 原 理 來 進(jìn)行 劃 分 的 。 數(shù) 據(jù) 測(cè) 試 的 等 效 性 是 指 將 分 類 的 數(shù) 據(jù) 取 其 子 集 中 一個(gè) 數(shù) 據(jù) 做 測(cè) 試 與 子 集 中 其 他 數(shù) 據(jù) 測(cè) 試 的 效 果 是 等 效 的 ,
61、 即 子 集中 的 一 個(gè) 數(shù) 據(jù) 能 測(cè) 出 軟 件 錯(cuò) 誤 , 那 么 子 集 中 的 其 余 數(shù) 據(jù) 也 能 測(cè)出 錯(cuò) 誤 ; 相 反 , 子 集 中 的 一 個(gè) 數(shù) 據(jù) 測(cè) 試 不 出 程 序 錯(cuò) 誤 , 子 集 中 的 其 余 數(shù) 據(jù) 也 測(cè) 不 出 錯(cuò) 誤 。 第 7章 軟 件 測(cè) 試 技 術(shù) 等 價(jià) 類 劃 分 是 把 程 序 的 輸 入 數(shù) 據(jù) 集 合 按 輸 入 條 件 劃 分 為 若 干個(gè) 等 價(jià) 類 , 每 一 個(gè) 等 價(jià) 類 相 對(duì) 于 輸 入 條 件 表 示 為 一 組 有 效 或 無 效的 輸 入 , 然 后 為 每 一 等 價(jià) 類 設(shè) 計(jì) 一 個(gè) 測(cè) 試 用 例
62、。 如 果 某 個(gè) 等 價(jià) 類中 的 一 個(gè) 輸 入 條 件 作 為 測(cè) 試 數(shù) 據(jù) 查 出 了 錯(cuò) 誤 , 那 么 使 用 這 一 等 價(jià)類 中 的 其 他 輸 入 條 件 , 也 會(huì) 查 出 同 樣 的 錯(cuò) 誤 ; 反 之 , 若 使 用 某 個(gè)等 價(jià) 類 中 的 一 個(gè) 輸 入 條 件 作 為 數(shù) 據(jù) 進(jìn) 行 測(cè) 試 沒 有 查 出 錯(cuò) 誤 , 則 使用 這 個(gè) 等 價(jià) 類 中 的 其 他 輸 入 條 件 也 同 樣 查 不 出 錯(cuò) 誤 。 簡(jiǎn) 單 地 講 ,有 效 等 價(jià) 類 是 指 程 序 的 合 理 輸 入 數(shù) 據(jù) , 利 用 它 可 檢 驗(yàn) 程 序 是 否 能實(shí) 現(xiàn) 預(yù) 期 的
63、功 能 和 性 能 。 無 效 等 價(jià) 類 是 指 其 他 不 合 理 、 無 意 義 的數(shù) 據(jù) , 利 用 它 可 檢 查 程 序 中 功 能 和 性 能 的 實(shí) 現(xiàn) 是 否 不 符 合 規(guī) 格 說明 要 求 。 在 確 定 輸 入 等 價(jià) 類 時(shí) 還 需 要 分 析 輸 出 數(shù) 據(jù) 的 等 價(jià) 類 , 以便 根 據(jù) 輸 出 數(shù) 據(jù) 的 等 價(jià) 類 導(dǎo) 出 對(duì) 應(yīng) 的 輸 入 等 價(jià) 類 。 等 價(jià) 類 的 劃 分 在 很 大 程 度 上 是 一 個(gè) 探 索 性 的 過 程 , 主 要 依 靠 的 是 測(cè) 試 人 員 的 經(jīng)驗(yàn) , 下 面 幾 點(diǎn) 僅 供 參 考 。 第 7章 軟 件 測(cè) 試
64、 技 術(shù) (1) 如 果 某 個(gè) 輸 入 條 件 規(guī) 定 了 輸 入 值 的 范 圍 (其 數(shù) 值 為 1999), 則 可 劃 分 為 一 個(gè) 合 理 等 價(jià) 類 (大 于 等 于 1而 小 于 等 于 999的數(shù) )和 兩 個(gè) 不 合 理 的 等 價(jià) 類 (小 于 1和 大 于 999的 數(shù) )。 (2) 如 果 某 個(gè) 輸 入 條 件 規(guī) 定 了 輸 入 數(shù) 據(jù) 的 個(gè) 數(shù) (如 每 名 學(xué) 生一 學(xué) 期 內(nèi) 只 能 選 修 1 3門 課 程 ), 則 可 劃 分 為 一 個(gè) 高 效 等 價(jià) 類(選 修 1 3門 課 程 )和 兩 個(gè) 無 效 等 價(jià) 類 (不 選 修 和 選 修 超 過
65、 3門 )。 (3) 如 果 某 個(gè) 輸 入 條 件 規(guī) 定 了 一 組 可 能 的 值 , 而 且 程 序 可 以對(duì) 每 個(gè) 輸 入 值 分 別 進(jìn) 行 處 理 (如 出 差 時(shí) 交 通 工 具 的 類 型 必 須 是 火車 、 汽 車 或 輪 船 ), 那 么 可 以 為 每 一 組 確 定 一 個(gè) 有 效 等 價(jià) 類 (如 火車 、 汽 車 和 輪 船 三 種 ), 同 時(shí) 對(duì) 一 組 值 確 定 一 個(gè) 無 效 等 價(jià) 類 (如 飛 機(jī) )。 第 7章 軟 件 測(cè) 試 技 術(shù) (4) 如 果 某 個(gè) 輸 入 條 件 規(guī) 定 了 必 須 成 立 的 條 件 (比 如 標(biāo) 識(shí) 符的 第 一
66、 個(gè) 字 符 必 須 是 字 母 ), 則 可 劃 分 為 一 個(gè) 有 效 等 價(jià) 類 (第 一個(gè) 字 符 是 字 母 )和 一 個(gè) 無 效 等 價(jià) 類 (第 一 個(gè) 字 符 不 是 字 母 )。 (5) 如 果 認(rèn) 為 程 序 將 按 不 同 的 方 式 來 處 理 某 個(gè) 等 價(jià) 類 中 的各 種 測(cè) 試 用 例 , 則 應(yīng) 將 這 個(gè) 等 價(jià) 類 再 分 成 幾 個(gè) 更 小 的 等 價(jià) 類 。如 上 面 第 點(diǎn) 就 將 一 個(gè) 有 效 的 等 價(jià) 類 又 分 成 火 車 、 汽 車 和 輪 船三 個(gè) 等 價(jià) 類 。 (6) 如 果 輸 入 條 件 是 一 個(gè) 布 爾 量 , 則 可 以 確 定 一 個(gè) 有 效 等價(jià) 類 和 一 個(gè) 無 效 等 價(jià) 類 。 (7) 如 果 規(guī) 定 了 輸 入 數(shù) 據(jù) 為 整 數(shù) , 則 可 以 劃 分 為 正 整 數(shù) 、 零 和 負(fù) 整 數(shù) 三 個(gè) 有 效 等 價(jià) 類 為 測(cè) 試 數(shù) 據(jù) 。 第 7章 軟 件 測(cè) 試 技 術(shù) 2) 確 定 測(cè) 試 用 例 根 據(jù) 等 價(jià) 類 來 設(shè) 計(jì) 測(cè) 試 用 例 , 其 過 程 如 下 : (1) 為 每 個(gè)
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)務(wù)信息系統(tǒng)設(shè)計(jì)方案(英文版)課件
- 技術(shù)支持考試培訓(xùn)講座課件
- 《電與我們的生活》課件
- xmind簡(jiǎn)單實(shí)用教程..
- 蘇教版科學(xué)四下我們來養(yǎng)蠶課件
- 分光光度法及分光光度計(jì)使用方法課件
- 蒸汽的力量--課件
- 創(chuàng)意漸變微信社群營銷策劃方案PPT模板課件
- 藥店員工用藥知識(shí)培訓(xùn)課件
- 胸膜疾病影像表現(xiàn)課件
- 數(shù)學(xué)ppt課件滬教版版八年級(jí)下冊(cè)專題3-平行四邊形常用輔助線的添法
- 氧供需平衡的監(jiān)控ppt課件
- 小學(xué)小升初英語名詞復(fù)習(xí)課件
- 儀容儀表儀態(tài)培訓(xùn)資料
- 《認(rèn)識(shí)鐘表》復(fù)習(xí)課ppt課件