Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ようこそ、ソフトウェアテストの世界へ!
Search
tsuemura
September 09, 2024
Technology
1
100
ようこそ、ソフトウェアテストの世界へ!
2024-9-9 【オンライン無料開催】ノンプロ研 特別公開イベント「ようこそ、ソフトウェアテストの世界へ!」
https://peatix.com/event/4088780/view
tsuemura
September 09, 2024
Tweet
Share
More Decks by tsuemura
See All by tsuemura
自分の軸足を見つけろ
tsuemura
3
1.1k
事業継続を支える自動テストの考え方
tsuemura
0
920
テスト自動化ことはじめ(202412_オープンロジ版) / Enter the testing automation (2024 Dec, for OPENLOGI)
tsuemura
0
900
E2Eテストのシナリオと抽象化の粒度の話.pdf
tsuemura
6
810
テスト自動化ことはじめ
tsuemura
3
390
リーダブルなE2Eテストコードのための3つのC
tsuemura
7
1.1k
コンテキストとセマンティクスを意識してリーダブルなE2Eテストコードを書こう
tsuemura
12
29k
60分で学ぶE2Eテスト(実装編)
tsuemura
0
420
全部乗せフレームワーク CodeceptJS でE2Eテストを楽にしよう
tsuemura
7
5.4k
Other Decks in Technology
See All in Technology
toittaにOpenTelemetryを導入した話 / Mackerel APM リリースパーティ
cohalz
1
480
Roo Codeにすべてを委ねるためのルール運用
pharma_x_tech
1
220
ゴリラ.vim #36 ~ Vim x SNS ~ スポンサーセッション
yasunori0418
1
310
積み上げられた技術資産と向き合いながら、プロダクトの信頼性をどう守るか
plaidtech
PRO
0
760
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
他チームへ越境したら、生データ提供ソリューションのクエリ費用95%削減へ繋がった話 / Cross-Team Impact: 95% Off Raw Data Query Costs
yamamotoyuta
0
220
GigaViewerにおけるMackerel APM導入の裏側
7474
0
450
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
AIエージェントデザインパターンの選び方
almondo_event
0
140
大規模PaaSにおける監視基盤の構築と効率化の道のり
lycorptech_jp
PRO
0
170
Cloud Run を解剖して コンテナ監視を考える / Breaking Down Cloud Run to Rethink Container Monitoring
aoto
PRO
0
110
Houtou.pm #1
papix
0
650
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
183
22k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
GraphQLとの向き合い方2022年版
quramy
46
14k
Embracing the Ebb and Flow
colly
85
4.7k
A Tale of Four Properties
chriscoyier
159
23k
We Have a Design System, Now What?
morganepeng
52
7.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
Documentation Writing (for coders)
carmenintech
71
4.8k
Transcript
ようこそ、ソフトウェアテストの世界へ!
はじめに Zoomのコメントなどでぜひリアクションをください リアルタイムに返せるところは返します 途中でさえぎって質問していただいても OKです 慣れています 発表中に Zoom荒らしが来たときすら平然としていました どんな質問でも大歓迎です 「あなたが分からないことは、みんなも分からないこと」
「あなたが聞き逃したことは、みんなも聞き逃したこと」 盛り上げていきましょう
自己紹介 末村 拓也 Quality Evangelist at Autify, Inc. テトリスとメカニカルキーボードが好き
キャリア 2010年 私立文系大学を卒業し文房具の問屋に 倉庫作業と商品管理を担当 この時に VBA を覚え、 VBA Expert 2級を取得
2015年 サプライチェーンマネジメントのシステムを作る会社に転職 当初は事業マネージャーとして入社し、その後いろいろあり 開発エンジニア に 2017年 物流スタートアップ OPENLOGI に入社 QA( Quality Assurance = 品質保証) としてテスト自動化をリード 2019年 Autifyに転職 テストや品質保証をより良くするためのツールを提供する会社 開発、テクニカルサポート、マーケティングなど手広く担当 現在はマーケティングチームでエバンジェリストを務める
ノンプロ研さまコラボの背景 僕自身、非エンジニアからのリスキリング組です 様々なスキルを組み合わせて価値を発揮するのが好きです ノンプロ研さんにはそういう人がたくさんいそうだと思っていて、いつかコラボしたい と思っていました
はじめに : テストについて 作ったものがちゃんと動くかどうか確認するために、人は テスト をしている ソフトウェアはロジックの組み合わせで動くので、 様々なパターン でのテストが必要になる ソフトウェアは変更の連続なので、
繰り返し テストが必要になる
様々なパターンのテスト (1) 因子と水準 https://service.shiftinc.jp/column/7825/
様々なパターンのテスト (2) 制御パス
繰り返しテスト
自動テストの夢
本を出しました テスト自動化実践ガイド テスト自動化を始める前から運用まで広 くカバー エンジニア 2〜 3年目が対象
今日話すこと GASを例にした、ソフトウェアテストの例 手動テスト 自動テスト テストしやすい設計 書籍につなげる話 チーム開発におけるテスト(特に自動テスト)の重要性
GASを使った例 作業レポートをメール送信するスクリプトの例 作業レポートを入力する GASコンソールから「実行」をクリック PDF付きのメールが送信される
テストの粒度 複雑になればなるほどテストが大変になる 粒度を細かくするとテストは楽になる
おっ、要件の変更が来たぞ タイムシートに名前入力欄を設ける 名前別のシートに分けて送信する
細かく分けてテストする 名前別のシートに分ける関数 PDFを作る関数 メールを送る関数
それぞれテストしてると大変なので 試しに「名前別のシートに分ける関数」の自動テストを書いてみる テスト用のタイムシートを見て それぞれ「テスト _末村」 「テスト _タカハシ」というシートに分かれたかどうかをチェッ クして それぞれ 32行ずつあることを確認し
それぞれ見出しがあることを確認する
自動テストのより高度な使い道
リファクタリング 最初からきれいなコードを書こうとすると大変だし時間もかかるので どうやって
自動テストが支えるチーム開発 自動テストがあると どう動けば正解なのか が分かる 自動テストがあると 意図せぬ影響が起きていないかどうか が分かる 自動テストがあると 自信を持って変更 できる
None
明日からどう活かす?
普段使っているものに自動テストの考え方を取り入れてみよう プログラムをテストしやすい単位に分割してみよう 自動テストを書いてみよう たとえば、 GASなら関数を定義して、それらの自動テストを書いたシートを作って みよう
面白いなと思ったら 【この 1冊でよくわかる】 ソフトウェアテストの教科書 テスト自動化実践ガイド 今なら 50%ポイント還元!
おわり Enjoy Testing!
None