Software Engineer in Test at DeNA
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Software Engineer in Test at DeNA

on

  • 3,334 views

 

Statistics

Views

Total Views
3,334
Views on SlideShare
2,856
Embed Views
478

Actions

Likes
11
Downloads
12
Comments
2

7 Embeds 478

http://ikasama.hateblo.jp 328
https://twitter.com 142
http://cloud.feedly.com 3
http://feedly.com 2
http://www.feedspot.com 1
https://www.linkedin.com 1
http://webcache.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Software Engineer in Test at DeNA Presentation Transcript

  • 1. Software Engineer in Test at DeNA Masaki Nakagawa / @ikasam_a DeNA Co., Ltd.
  • 2. http://dena.com/topics/2013/07/ swettechtalk33.php
  • 3. About Me • @ikasam_a • github.com/masaki • metacpan.org/author/MASAKI
  • 4. at DeNA • JOIN (2011/10) • Founder of QA Team (2012/01) • (...developed tests...)
  • 5. Currently Status • SWET (Software Engineer in Test) • TE (Test Engineer)
  • 6. What is SWET? • a developer role for testing • write test framework • build test environments • write tests
  • 7. http://en.wikipedia.org/wiki/SET
  • 8. http://googletesting.blogspot.jp/2011/02/how-google- tests-software-part-two.html
  • 9. Several Names • SWET @DeNA • SET (Software Engineer in Test) @Google • SDET (Software Development Engineer in Test) @Microsoft • QAE (Quality Assurance Engineer) @Amazon.com
  • 10. Developer Productivity • to improve productivity • Base Technology Team • Development Infrastructure Team • “Dandelion” a.k.a.“Tanpopo” • as SWET • productivity of testing • productivity using test technology
  • 11. at DeNA • JOIN (2011/10) • Founder of QA Team (2012/01) • (...developed tests...)
  • 12. Previous Works • as a Developer • Web API (Ruby) • Web Application (Ruby) • Windows Application (VC++) • Embedded Application/Library (C++) • as a Developer Productivity • Automation of build and test • CI/CD
  • 13. Write Codes w/ Unit Test in all Products
  • 14. Ruby • RSpec,Webrat(!), Selenium, Cucumber • Cucumber is overkill... • make Webrat’s custom node matchers • many monkey patches
  • 15. C++/VC++ • Google Test, Google Mock • very difficult to search freamworks • aggregate test cases automatically • easy setup and teardown • flexible mocks • monkey patching • sexyhook • can stubbing Win32API
  • 16. Do Everything where Automation is not enough
  • 17. Automation • JavaScript • PhantomJS • QUnit + qunit-tap.js (for Jenkins) • @t_wada++ • Java • Maven2 + local repo • replace to JMockit from djUnit
  • 18. QA Process • wrote many-many automated tests • Unit Test and Integration Test • against conventional process • automation v.s. manual testing • discontinuity w/ QA dept.
  • 19. Testing Activities SHOULD be in Developments
  • 20. I met “SET” • Google Testing Blog • http://googletesting.blogspot.com • How Google Tests Software • http://googletesting.blogspot.jp/2011/01/how-google-tests-software.html
  • 21. QA Team at DeNA • did not like THE name :D • was worried misleading • would like to do SWET
  • 22. QA Team Mission Statement • For platform engineers • To develop new features • Should keep the quality of platform system
  • 23. About QA Team • To verify the Platform System • To write AUTOMATION tests • To improve Platform System quality is NOT a tester, is a TEST ENGINEER
  • 24. Mobage Open Platform (Outline) API Server Gadget Server mobage Developers (WebApp) Internal Tools / Databases / Middlewares Developer Game Server / Game Client (User) API ServerAPI Server Gadget ServerGadget Server
  • 25. Target & Level • tests “Interfaced” components • API, Gadget, mobage Developers, ... • lack of integration level tests • end-to-end
  • 26. Browser Game Testing • Browser Game for Test • Smartphone Emulated Browser • E2E Test Codes API Server Gadget Server Smartphone (Emulation) Platform
  • 27. API Testing • Mobage API HTTP Client for Test • Gray-Boxed Fixture Library • E2E Test Codes API Server Test Scripts (in Platform) Platform
  • 28. WebApp Testing • App-Specialized Browser • E2E Test Codes mobage DevelopersPC Browser Platform
  • 29. Techniques • Gray Box Testing • mixed Black Box and White Box • Black Box-ed test cases • White Box-ed test fixtures • Multi-environmental tests • multi-region • multi-environment
  • 30. Policy • Test Engineering • as an engineer (developer) • Gray Box • clean codes • Readable • Writable • Maintainable
  • 31. as an Engineer • for Gray Box • requires Skills • understands the Product (including code) • behaves an product engineer, if necessary
  • 32. Code Quality • Readable • What do you testing ? • Writable / Maintanable • How do you add or modify ?
  • 33. Conclusions • Developing E2E Tests over the past year • acts as SWET • reduce distance between Test & Dev • SWET is hard and crazy, but FUN! • if interesting, please talk to me!
  • 34. Any Questions?