Enviar búsqueda
Cargar
組込みソフトウェアの品質の小噺
•
0 recomendaciones
•
229 vistas
Gou Sawada
Seguir
ソフトウェアの差分開発のとき、既存システムにはバグが無いもの つまり性善説に基づいて、変更部分のみ試験するが、潜在バグがある場合 小規模の変更でもバグが発現することがある
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 18
Descargar ahora
Descargar para leer sin conexión
Recomendados
Bindingからframework elementを見つける
Bindingからframework elementを見つける
Tatsuya Ishikawa
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Tatsuya Ishikawa
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Masanori Satoh
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
kyon mm
DevOpsのはじめの一歩 〜監視の変遷〜
DevOpsのはじめの一歩 〜監視の変遷〜
Akihiro Kuwano
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
Toshiyuki Hirata
RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料
pyar6329
Recomendados
Bindingからframework elementを見つける
Bindingからframework elementを見つける
Tatsuya Ishikawa
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
Tatsuya Ishikawa
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Tatsuya Ishikawa
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Jenkins Bootcamp Premiumのご紹介 in デブサミ2016冬
Masanori Satoh
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
kyon mm
DevOpsのはじめの一歩 〜監視の変遷〜
DevOpsのはじめの一歩 〜監視の変遷〜
Akihiro Kuwano
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
Toshiyuki Hirata
RICOH最終選考プレゼン資料
RICOH最終選考プレゼン資料
pyar6329
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
kyon mm
Startup jenkins!
Startup jenkins!
Kanu orz
テストを書こう!!
テストを書こう!!
拓 小林
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Tsutomu Chikuba
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
dcubeio
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
Wataru Terada
10分でわかるDevOps
10分でわかるDevOps
Gosuke Miyashita
Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~
Yuta Matsumura
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Kenji Fukumoto
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
Kouhei Sutou
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
.Netconf
.Netconf
Tatsuya Ishikawa
Vagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しよう
Yuta Matsumura
入門!Jenkins
入門!Jenkins
Shuntaro Saiba
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
ichikaway
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
Andrew Grimm
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
akira6592
Más contenido relacionado
La actualidad más candente
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Masanori Satoh
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
Takafumi Ikeda
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
kyon mm
Startup jenkins!
Startup jenkins!
Kanu orz
テストを書こう!!
テストを書こう!!
拓 小林
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Tsutomu Chikuba
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
dcubeio
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
Wataru Terada
10分でわかるDevOps
10分でわかるDevOps
Gosuke Miyashita
Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~
Yuta Matsumura
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Kenji Fukumoto
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
Kouhei Sutou
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
.Netconf
.Netconf
Tatsuya Ishikawa
Vagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しよう
Yuta Matsumura
入門!Jenkins
入門!Jenkins
Shuntaro Saiba
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
Junya Suzuki
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
ichikaway
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
La actualidad más candente
(20)
Jenkinsではじめる継続的インテグレーション
Jenkinsではじめる継続的インテグレーション
Jenkins+Play!で気軽にCI
Jenkins+Play!で気軽にCI
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
Startup jenkins!
Startup jenkins!
テストを書こう!!
テストを書こう!!
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Jenkinsを使った初めての継続的インテグレーション
Jenkinsを使った初めての継続的インテグレーション
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
10分でわかるDevOps
10分でわかるDevOps
Jenkins使ってみた~Windows編~
Jenkins使ってみた~Windows編~
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
.Netconf
.Netconf
Vagrantでwindows仮想環境を構築しよう
Vagrantでwindows仮想環境を構築しよう
入門!Jenkins
入門!Jenkins
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
jenkinsのすゝめ - 継続的インテグレーションと継続的デリバリー
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
脆弱性もバグ、だからテストしよう DevSummiFukuoka
脆弱性もバグ、だからテストしよう DevSummiFukuoka
java-ja TDD 2nd
java-ja TDD 2nd
Similar a 組込みソフトウェアの品質の小噺
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
Andrew Grimm
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
akira6592
バージョン管理の断捨離
バージョン管理の断捨離
Kazushi Kamegawa
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
Andrew Grimm
2016-11-28 開発・改善ワークフローにおけるDeployGate利用方法
2016-11-28 開発・改善ワークフローにおけるDeployGate利用方法
João Orui
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
Hiroyuki Tanaka
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテスト
Ohishi Mikage
DevOps、その前に
DevOps、その前に
Yuta Matsumura
Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2
Kanako Kobayashi
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
智治 長沢
Finc microservice meetup_shigemura_lt
Finc microservice meetup_shigemura_lt
裕紀 重村
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
Rakuten Commerce Tech (Rakuten Group, Inc.)
タイムボックス制約付きインクリメンタル開発
タイムボックス制約付きインクリメンタル開発
HIDEKAZU MATSUURA
Similar a 組込みソフトウェアの品質の小噺
(13)
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
バージョン管理の断捨離
バージョン管理の断捨離
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
2016-11-28 開発・改善ワークフローにおけるDeployGate利用方法
2016-11-28 開発・改善ワークフローにおけるDeployGate利用方法
GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテスト
DevOps、その前に
DevOps、その前に
Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
【JaSST'11 Kansai】 開発者とテスト担当者に最適なコラボレーションと効率化を!
Finc microservice meetup_shigemura_lt
Finc microservice meetup_shigemura_lt
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
失敗から学ぶ?、教科書には書いてあるけど、現場でしか学べないこと.pdf
タイムボックス制約付きインクリメンタル開発
タイムボックス制約付きインクリメンタル開発
組込みソフトウェアの品質の小噺
1.
組込みソフトウェアの品質の小噺 Gou Sawada 2016/2/9
2.
差分開発の構造 潜在バグ 旧ソフト 新規開発時に見つか らなかったバグ
3.
差分開発の構造 差分開発 潜在バグ 潜在バグ 旧ソフト 開発 既存のまま 新ソフト
4.
差分開発の構造 差分開発 潜在バグ 潜在バグ 潜在バグ 旧ソフト 開発 既存のまま 新ソフト 新ソフト の試験 試験範囲 回帰試験 (デグレ) ※漏れることがある 潜在バグは残る
5.
既存機能については、バグは無いことを前提として考えている。 性善説 新規開発時に見つからなかったバグは 潜在バグとして残り続ける 何かの拍子にバグが発現する ※工数が限られているため 既存機能まで再試験する 余裕は無い
6.
どうするか?
7.
新規開発・大規模開発時に徹底的に バグを潰す (観点漏れを防止する) 性善説の強化 どうするか?
8.
新規開発・大規模開発時に徹底的に バグを潰す (観点漏れを防止する) 性善説の強化 小規模変更物件でも強化試験を行う (強化試験をやったことが無い物件について) 性悪説への転換 どうするか?
9.
新規開発・大規模開発時に徹底的に バグを潰す (観点漏れを防止する) 性善説の強化 小規模変更物件でも強化試験を行う (強化試験をやったことが無い物件について) 性悪説への転換 どうするか? ※本当にやろうとすると 試験工数は膨大になる・・・ 人も時間も無限ではない
10.
品質対策①:機能一覧表を作る 利用する人の特性 装置の設定 操作中の処理
処理実行 大人 日付(年末年始など) → 停電 → 通常 子供 時刻(深夜0::00など) 長時間の放置 不正終了 年配者 場所 他装置からの通信 取消 性別 時刻補正 障がい者 運用モード 頻繁に利用する 設定の時限切り替え 時々利用する(操作に不慣れ) 故障によるフェールソフト 会員 非会員 1人だけの利用 団体での利用
11.
品質対策①:機能一覧表を作る 利用する人の特性 装置の設定 操作中の処理
処理実行 大人 日付(年末年始など) → 停電 → 通常 子供 時刻(深夜0::00など) 長時間の放置 不正終了 年配者 場所 他装置からの通信 取消 性別 時刻補正 障がい者 運用モード 頻繁に利用する 設定の時限切り替え 時々利用する(操作に不慣れ) 故障によるフェールソフト 会員 非会員 1人だけの利用 団体での利用 ソフト変更・試験項目の作成にあたり システムが持つ全ての機能や要素を書き出す これらを、変更しようとしている機能と掛け合わせて 影響があるか検討する
12.
品質対策①:機能一覧表を作る 利用する人の特性 装置の設定 操作中の処理
処理実行 大人 日付(年末年始など) → 停電 → 通常 子供 時刻(深夜0::00など) 長時間の放置 不正終了 年配者 場所 他装置からの通信 取消 性別 時刻補正 障がい者 運用モード 頻繁に利用する 設定の時限切り替え 時々利用する(操作に不慣れ) 故障によるフェールソフト 会員 非会員 1人だけの利用 団体での利用 ソフト変更・試験項目の作成にあたり システムが持つ全ての機能や要素を書き出す これらを、変更しようとしている機能と掛け合わせて 影響があるか検討する ※実際、機能一覧表を 作ってみたことで 機能の変更漏れを 発見できたことがあります。
13.
品質対策②:状態遷移を意識してテストする 【観点】各シーケンスにて異常動作を発生させた際、 開始釦を押す 取消 挙動に問題ないことを確認する。 機能別キーを押す
取消 確定を押す 取消 エラー 取消 通信待ち 解除 数量入力 取消 確定を押す エラー 取消 強制実行 正常完了 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B C D E F 停電 動作 無効キーを押す 通信エラー 日付跨ぎ 業務終了時刻跨ぎ ・・・ 1 2 3 4 5 6 7 10 8 9 12 16 13 14 15 11
14.
品質対策②:状態遷移を意識してテストする 【観点】各シーケンスにて異常動作を発生させた際、 開始釦を押す 取消 挙動に問題ないことを確認する。 機能別キーを押す
取消 確定を押す 取消 エラー 取消 通信待ち 解除 数量入力 取消 確定を押す エラー 取消 強制実行 正常完了 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B C D E F ・・・ 動作 停電 無効キーを押す 通信エラー 日付跨ぎ 業務終了時刻跨ぎ 1 2 3 4 5 6 7 10 8 9 12 16 13 14 15 状態×入力の掛け合わせ で結果が決まる 11
15.
品質対策②:状態遷移を意識してテストする 【観点】各シーケンスにて異常動作を発生させた際、 開始釦を押す 取消 挙動に問題ないことを確認する。 機能別キーを押す
取消 確定を押す 取消 エラー 取消 通信待ち 解除 数量入力 取消 確定を押す エラー 取消 強制実行 正常完了 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A B C D E F ・・・ 動作 停電 無効キーを押す 通信エラー 日付跨ぎ 業務終了時刻跨ぎ 1 2 3 4 5 6 7 10 8 9 12 16 13 14 15 状態遷移を意識する 分岐の漏れ=試験の漏れ また、各状態における 異常動作が有り得るか検討する 各遷移が成功した場合ばかり試験して、 失敗した場合の試験をしていない事がある ↓ 市場で障害発生! 状態×入力の掛け合わせ で結果が決まる 11
16.
所感:影響度の判断について 単純にソースコードの変更規模が小さければ、影響度も小さいとはいえない! (変更による潜在バグの発現、処理順序・タイミングが意図せず変わっていた、 もう1か所変更しなければならない部分に気付かなかった・・・etc)
17.
所感:影響度の判断について 単純にソースコードの変更規模が小さければ、影響度も小さいとはいえない! (変更による潜在バグの発現、処理順序・タイミングが意図せず変わっていた、 もう1か所変更しなければならない部分に気付かなかった・・・etc) また、小規模の変更であっても、 ・担当者が変わった ・前回開発から長期間経過している などの場合は要注意案件と考える。
18.
ありがとうございました
Descargar ahora