Software Engineer in Test
at DeNA
Masaki Nakagawa / @ikasam_a
DeNA Co., Ltd.
http://dena.com/topics/2013/07/
swettechtalk33.php
About Me
• @ikasam_a
• github.com/masaki
• metacpan.org/author/MASAKI
at DeNA
• JOIN (2011/10)
• Founder of QA Team (2012/01)
• (...developed tests...)
Currently Status
• SWET (Software Engineer in Test)
• TE (Test Engineer)
What is SWET?
• a developer role for testing
• write test framework
• build test environments
• write tests
http://en.wikipedia.org/wiki/SET
http://googletesting.blogspot.jp/2011/02/how-google-
tests-software-part-two.html
Several Names
• SWET @DeNA
• SET (Software Engineer in Test) @Google
• SDET (Software Development Engineer in Test)
@Micro...
Developer Productivity
• to improve productivity
• Base Technology Team
• Development Infrastructure Team
• “Dandelion” a....
at DeNA
• JOIN (2011/10)
• Founder of QA Team (2012/01)
• (...developed tests...)
Previous Works
• as a Developer
• Web API (Ruby)
• Web Application (Ruby)
• Windows Application (VC++)
• Embedded Applicat...
Write Codes w/ Unit Test
in all Products
Ruby
• RSpec,Webrat(!), Selenium, Cucumber
• Cucumber is overkill...
• make Webrat’s custom node matchers
• many monkey pa...
C++/VC++
• Google Test, Google Mock
• very difficult to search freamworks
• aggregate test cases automatically
• easy setup...
Do Everything
where Automation is not enough
Automation
• JavaScript
• PhantomJS
• QUnit + qunit-tap.js (for Jenkins)
• @t_wada++
• Java
• Maven2 + local repo
• replac...
QA Process
• wrote many-many automated tests
• Unit Test and Integration Test
• against conventional process
• automation ...
Testing Activities
SHOULD
be in Developments
I met “SET”
• Google Testing Blog
• http://googletesting.blogspot.com
• How Google Tests Software
• http://googletesting.b...
QA Team at DeNA
• did not like THE name :D
• was worried misleading
• would like to do SWET
QA Team
Mission Statement
• For platform engineers
• To develop new features
• Should keep the quality of platform system
About QA Team
• To verify the Platform System
• To write AUTOMATION tests
• To improve Platform System quality
is NOT a te...
Mobage Open Platform
(Outline)
API Server Gadget Server
mobage Developers (WebApp)
Internal Tools / Databases / Middleware...
Target & Level
• tests “Interfaced” components
• API, Gadget, mobage Developers, ...
• lack of integration level tests
• e...
Browser Game Testing
• Browser Game for Test
• Smartphone Emulated Browser
• E2E Test Codes
API Server
Gadget Server
Smart...
API Testing
• Mobage API HTTP Client for Test
• Gray-Boxed Fixture Library
• E2E Test Codes
API Server
Test Scripts
(in Pl...
WebApp Testing
• App-Specialized Browser
• E2E Test Codes
mobage DevelopersPC Browser
Platform
Techniques
• Gray Box Testing
• mixed Black Box and White Box
• Black Box-ed test cases
• White Box-ed test fixtures
• Mult...
Policy
• Test Engineering
• as an engineer (developer)
• Gray Box
• clean codes
• Readable
• Writable
• Maintainable
as an Engineer
• for Gray Box
• requires Skills
• understands the Product (including code)
• behaves an product engineer, ...
Code Quality
• Readable
• What do you testing ?
• Writable / Maintanable
• How do you add or modify ?
Conclusions
• Developing E2E Tests over the past year
• acts as SWET
• reduce distance between Test & Dev
• SWET is hard a...
Any Questions?
Software Engineer in Test at DeNA
Upcoming SlideShare
Loading in...5
×

Software Engineer in Test at DeNA

3,413

Published on

Published in: Technology
2 Comments
14 Likes
Statistics
Notes
No Downloads
Views
Total Views
3,413
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
18
Comments
2
Likes
14
Embeds 0
No embeds

No notes for slide

Software Engineer in Test at DeNA

  1. 1. Software Engineer in Test at DeNA Masaki Nakagawa / @ikasam_a DeNA Co., Ltd.
  2. 2. http://dena.com/topics/2013/07/ swettechtalk33.php
  3. 3. About Me • @ikasam_a • github.com/masaki • metacpan.org/author/MASAKI
  4. 4. at DeNA • JOIN (2011/10) • Founder of QA Team (2012/01) • (...developed tests...)
  5. 5. Currently Status • SWET (Software Engineer in Test) • TE (Test Engineer)
  6. 6. What is SWET? • a developer role for testing • write test framework • build test environments • write tests
  7. 7. http://en.wikipedia.org/wiki/SET
  8. 8. http://googletesting.blogspot.jp/2011/02/how-google- tests-software-part-two.html
  9. 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. 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. 11. at DeNA • JOIN (2011/10) • Founder of QA Team (2012/01) • (...developed tests...)
  12. 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. 13. Write Codes w/ Unit Test in all Products
  14. 14. Ruby • RSpec,Webrat(!), Selenium, Cucumber • Cucumber is overkill... • make Webrat’s custom node matchers • many monkey patches
  15. 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. 16. Do Everything where Automation is not enough
  17. 17. Automation • JavaScript • PhantomJS • QUnit + qunit-tap.js (for Jenkins) • @t_wada++ • Java • Maven2 + local repo • replace to JMockit from djUnit
  18. 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. 19. Testing Activities SHOULD be in Developments
  20. 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. 21. QA Team at DeNA • did not like THE name :D • was worried misleading • would like to do SWET
  22. 22. QA Team Mission Statement • For platform engineers • To develop new features • Should keep the quality of platform system
  23. 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. 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. 25. Target & Level • tests “Interfaced” components • API, Gadget, mobage Developers, ... • lack of integration level tests • end-to-end
  26. 26. Browser Game Testing • Browser Game for Test • Smartphone Emulated Browser • E2E Test Codes API Server Gadget Server Smartphone (Emulation) Platform
  27. 27. API Testing • Mobage API HTTP Client for Test • Gray-Boxed Fixture Library • E2E Test Codes API Server Test Scripts (in Platform) Platform
  28. 28. WebApp Testing • App-Specialized Browser • E2E Test Codes mobage DevelopersPC Browser Platform
  29. 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. 30. Policy • Test Engineering • as an engineer (developer) • Gray Box • clean codes • Readable • Writable • Maintainable
  31. 31. as an Engineer • for Gray Box • requires Skills • understands the Product (including code) • behaves an product engineer, if necessary
  32. 32. Code Quality • Readable • What do you testing ? • Writable / Maintanable • How do you add or modify ?
  33. 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. 34. Any Questions?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×