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
Day 1 - Testing
Search
offz
April 19, 2017
Programming
0
46
Day 1 - Testing
Automate software testing with Java for beginner.
offz
April 19, 2017
Tweet
Share
More Decks by offz
See All by offz
TM-P2-IT-security
offfffz
0
18
Docker Compose for Rails Developer
offfffz
1
34
Day 2 - Docker
offfffz
0
42
Day 2 - CI
offfffz
0
54
Day 1 - Git
offfffz
0
87
Other Decks in Programming
See All in Programming
AppRouter Panel Talk
yosuke_furukawa
PRO
1
520
TypeScriptで使いやすいOpenAPIの書き方
yukimochi_dwango
1
640
TCAとKMPを用いた新規動画配信アプリ 「ABEMA Live」の設計
tomu28
2
140
一文字エイリアスのすすめ
fujimura
0
190
ソースコードを美しくたもつために ~コードレビューの認知限界を突破し、年間400リリースを達成する~
kotauchisunsun
1
720
How to improve maintainability and readability of your automated tests? ( #scrumniigata )
teyamagu
PRO
1
130
WebGLで始める コンピュータグラフィックス入門
heller77
0
370
Ruby on Fails - effective error handling with Rails conventions
talyssonoc
0
290
AmperとFleetを使ったAndroidアプリ
yoppie
0
300
FoodGram
iseruuuuu
0
230
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
2
480
TypeScriptとGraphQLで実現する 型安全なAPI実装 / TSKaigi 2024
hokaccha
5
2.7k
Featured
See All Featured
The Language of Interfaces
destraynor
151
23k
Visualization
eitanlees
137
14k
Side Projects
sachag
451
41k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
BBQ
matthewcrist
80
8.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
67
14k
Infographics Made Easy
chrislema
238
18k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
The Cult of Friendly URLs
andyhume
74
5.7k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Scaling GitHub
holman
457
140k
How STYLIGHT went responsive
nonsquared
92
4.8k
Transcript
Testing….
ความเชื่อผิดๆ - เขียน Test ทำให้ทำงานช้าลง - เขียน Test แล้วงานเพิ่มขึ้น ได้เงินเท่าเดิม
เขียน Test ทำให้ทำงานช้าลง
งานเพิ่ม เงินเท่าเดิม - ที่งานเยอะ ไม่ใช่เพราะ feature แต่เพราะ bug - fix
bug เหนื่อยกว่าทำ feature - context switching cost แพงมาก
Now
ทำไมต้อง Test ? - เพื่อความมั่นใจ - เพื่อชื่อเสียง - เพื่อเงิน
ใครต้อง Test ? - คนที่เขียน code นั้นๆ - คนที่เก่งเรื่องจับผิด -
คนที่จ่ายเงิน
วิธีการ Test ? 1. ทำ software ให้เสร็จ 2. ติดตั้งลงในสภาพแวดล้อมจำลอง 3.
click ไปเรื่อยๆ จนกว่ามันจะพัง
Future
งานซ้ำๆ ให้คอมทำเร็วกว่า
วิธีการ Test class Calculator { public int plus(int a, int
b) { return a + b; } } class CalculatorTests { public boolean testPlus() { Calculator calculator = new Calculator(); int result = calculator.plus(1, 2); return result == 3; } }
วิธีการ Test class TestMain { public static void main(String[] args)
{ CalculatorTests suit = new CalculatorTests(); if (suit.testPlus) { System.out.println("You survive!"); } else { System.out.println("You died!"); System.exit(-1); } } }
เครื่องมือ Test
JUnit Test class CalculatorTests { Calculator calculator; @Before public void
setup() { calculator = new Calculator(); } @Test public void test1Plus2Equals3() { int result = calculator.plus(1, 2); assertEquals(result, 3) } @After public void tearDown() { calculator = null; } }
ทำไมต้อง Auto Test - นอนหลับสบายขึ้น - มีเวลาอยู่กับครอบครัวมากขึ้น - ท้องไม่อืด
ทำไมต้อง Auto Test - ทำงานได้เร็วกว่าให้คนกด ทำซ้ำได้บ่อย - developer รับผิดชอบงานของตัวเองเต็มที่ -
มีความมั่นใจใน software สูงขึ้นมาก - release software ได้เร็วขึ้น
exercise 1 1. clone project FizzBuzz 2. อ่าน README และทำความเข้าใจ
3. เปิด project ใน Eclipse แล้วสร้าง test case ใหม่ๆ 4. ทดลองรัน Test ใน Eclipse ด้วย JUnit
exercise 1.1 1. refactor FizzBuzz 2. รันเทสให้มั่นใจ ว่ามันยังทำงานได้ตามต้องการ 3. พยายามทำตาม
The Transformation Priority Premise
exercise 2 1. clone project chidchat 2. ลองรัน Server และ
Client เล่น 3. ลองนำ Client ไปต่อกับ server • host: 128.199.193.120 • port: 5000
exercise 2.1 1. ให้เลือก emoticon 1 ตัวจาก • https://www.emojicopy.com/ 2.
สร้าง issue emoticon <emo-name> 3. ทำให้ server สามารถรับ keyword แล้วแสดงเป็น emoticon ได้ • เช่น :sob: แสดงเป็น เขียน Test ด้วย!!