Secure Test-Driven Development

97
ครอบครัวสยามํานาญกิจ และเพื่อนพ้องน้องพีsomkiat.cc

Transcript of Secure Test-Driven Development

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

somkiat.cc

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ขั้นตอนการพัฒนา software ?

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://blog.crisp.se/wp-content/uploads/2013/08/20130820-What-is-Agile.pdf

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://www.slideshare.net/growingagile/expoqa-tutorial-agile-testing-techniques-for-the-whole-team

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://testingtweaks.com/what-is-angile-testing/

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Security อยู่ตรงไหน ?

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

The Security Development Lifecycle

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

The Security Development Lifecycle

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

The Security Development Lifecycle

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

The Security Development Lifecycle

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

The Security Development Lifecycle

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

The Security Development Lifecycle

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

The Security Development Lifecycle

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Developer/Programmer

ทําให้เสร็จ ๆ

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Developer/Programmer

ทําให้เสร็จ ๆ

Deadline

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Developer/Programmer

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Security Expert

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ทํางานกันอย่างไรดี ?

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://blog.scottlogic.com/2014/07/07/School-of-Testing.html

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://blog.scottlogic.com/2014/07/07/School-of-Testing.html

Security Expert

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Testing is Activity

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Security testing is Activity

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Make sure all stories areTestable & Valuable & Secure

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Show your activity

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Quality is everyone’s responsibility

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Communication & Collaboration

เริ่มด้วย

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://blog.crisp.se/wp-content/uploads/2013/08/20130820-What-is-Agile.pdf

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://blog.crisp.se/wp-content/uploads/2013/08/20130820-What-is-Agile.pdf

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

เริ่มอย่างไรดี ?

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ทําดีดี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Extreme programming

https://en.wikipedia.org/wiki/Extreme_programming

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Large feedback loop

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Security isfunctional requirement

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Perfomance isfunctional requirement

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Acceptance TDD

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

TDD

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Start with THINK

Improve TDD

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Write a failing automated test before you write any code

Remove duplication

Golden rules

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Why TDD ?

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

เพ่ือทําความเข้าใจกับปัญหาต่างๆ

คุณเข้าใจปัญหาหรือไม ่?

ทําไมต้อง TDD

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Software เปล่ียนแปลงอยู่เสมอ

คนเรามักมโน และ ทําผิดพลาดอยู่เสมอ

ทําไมต้อง TDD

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

บอกคุณว่า ผิดตรงไหน

ไม่ต้องเียเวลา debug

ทําไมต้อง TDD

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ได้รับ feedback ที่รวดเร็ว

ทําไมต้อง TDD

Many small changes vs One Big Change

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ให้ developer ทํางานเป็นทีมได้ดีขึ้น

ทําไมต้อง TDD

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

TDD vs DLP

รูปจาก http://www.renaissancesoftware.net/

DLP = Debug Later Programming

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

TDD มันดีนะ

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

แต่ …

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Secure TDD ?

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

T D D C Y C L E

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

S E C U R E T D D C Y C L E

Insecure Secure

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

All code is vulnerableuntil proven secure

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

มาพร้อมกับความท้าทาย !!

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Undefined process

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Lack of knowledge

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Lack of knowledge

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Lack of knowledge

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Lack of knowledge

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

No tests repository

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

แนวโน้มต่อไป

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Continuous Integration

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Continuous Delivery

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Security pain point

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

http://www.anarsolutions.com/devops-needs-to-become-devopssec/

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

สุดท้ายแล้ว

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

L E G A C Y C O D E

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

ครอบครัวสยามํานาญกิจ และเพ่ือนพ้องน้องพ่ี

Quality is everyone’s responsibility