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
43
ようこそ、ソフトウェアテストの世界へ!
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
130
リーダブルなE2Eテストコードのための3つのC
tsuemura
7
920
コンテキストとセマンティクスを意識してリーダブルなE2Eテストコードを書こう
tsuemura
12
28k
60分で学ぶE2Eテスト(実装編)
tsuemura
0
380
全部乗せフレームワーク CodeceptJS でE2Eテストを楽にしよう
tsuemura
7
5.2k
10年前に初めてVBAで業務自動化したときの思い出
tsuemura
1
14k
テストを自動化するのをやめ、自動テストを作ろう
tsuemura
69
33k
How can we improve the testability of applications?
tsuemura
0
950
結局おれたちはどのフレームワークを使えばいいのか
tsuemura
2
3.3k
Other Decks in Technology
See All in Technology
DevRelの始め方
moongift
PRO
1
330
SAVEPOINT α版
savepoint
0
650
React Aria で実現する次世代のアクセシビリティ
ryo_manba
4
1.2k
Oracle Exadata Database Service(Dedicated Infrastructure):サービス概要のご紹介
oracle4engineer
PRO
0
9.5k
PDF Viewer作成の今までとこれから
hunachi
0
290
言葉は感情の近似値である。その感情と言葉の誤差を最小化しよう ~コミュニケーションにおけるアナログ/デジタル変換の課題に立ち向かう~
nktamago
0
110
2024年版 運用者たちのLLM
nwiizo
3
590
EitherT_with_Future
aoiroaoino
1
1.2k
AI活用したくてもできなかった不動産SaaSの今とこれから
nealle
0
310
自作Cコンパイラ 8時間の奮闘
soukouki
0
800
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
290
セキュリティ監視の内製化 効率とリスク
mixi_engineers
PRO
7
920
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
24
600
Principles of Awesome APIs and How to Build Them.
keavy
125
16k
Thoughts on Productivity
jonyablonski
66
4.2k
Building Applications with DynamoDB
mza
90
6k
The Invisible Customer
myddelton
119
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Building a Modern Day E-commerce SEO Strategy
aleyda
36
6.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
157
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
278
13k
Speed Design
sergeychernyshev
22
430
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
25
3.9k
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