Software Engineer in Test at DeNA

  • 2,794 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,794
On Slideshare
0
From Embeds
0
Number of Embeds
10

Actions

Shares
Downloads
14
Comments
2
Likes
11

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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?