Upload
yoshimasa-iwase
View
2.347
Download
0
Embed Size (px)
Citation preview
"Extreme"Tes+ngofWebRTCApplica+ons
2015/11/4(Wed)@WebRTCMeetupJapaniwashi86(YoshimasaIwase)atakigawa(AkinoriTakigawa)
■NameYoshimasa Iwase / @iwashi86
■WorkNTT Communications,DevOps Engineer of SkyWay
■NameAkinori Takigawa / @kenkenkenken8
■WorkCTO of Nefrock Inc.
Copyright©NTTCommunica+onsCorpora+on.Allrightsreserved.3
SkyWay=WebRTCplaUorm(CPaaS)
TL;DR• Tes+ngWebRTCplaUorm/appissuperhard
WebRTCプラットフォーム/アプリのテストは超大変• Let’sautomateit!andwedidit!
そこで自動化したく、やってみた!
TL;DR• Tes+ngWebRTCplaUorm/appissuperhard
WebRTCプラットフォーム/アプリのテストは超大変• Let’sautomateit!andwedidit!
そこで自動化したく、やってみた!
Whysotough?なぜ大変?
Reason1:Manualopera+on(手動)
Video1 Video2
① ② ③
Reason1+α:Tes+ngsignalingisnotenough
Video1 Video2
SignalingSucceeded Videos+llblack
シグナリング単体じゃ不十分
Reason2:Variouscondi+ons(Clients)
+iOS,Android,Na+ve…
条件多すぎ(クライアントだけで)
Reason2+α:Aggressiveupdateofclients
like,gUMonHTTPjustdoesn’twork
アップデート早すぎ(クライアントだけで)
gUMはHTTPで動かなくなったり
6-8weeksupdate!
Reason3:Variouscondi+ons(Network)
NAT-X
①EndpointIndependentFilteringXEndpointIndependentMapping…over80cases(NATタイプだけで発着を考えると80種類超)
条件多すぎ(ネットワークの種類も)
Reason3:Variouscondi+ons(Network)
NAT-X
NAT-Y
UDPblocked!
①EndpointIndependentFilteringXEndpointIndependentMapping…over80cases(NATタイプだけで発着を考えると80種類超)
条件多すぎ(ネットワークの種類も)
Reason3:Variouscondi+ons(Network)
NAT-X
NAT-Y
UDPblocked!
①EndpointIndependentFilteringXEndpointIndependentMapping…over80cases(NATタイプだけで発着を考えると80種類超)
条件多すぎ(ネットワークの種類も)
Justtes+nginthesamemachineisn’tenough
TL;DR• Tes+ngWebRTCplaUorm/appissuperhard
WebRTCプラットフォーム/アプリのテストは超大変• Let’sautomateit!andwedidit!
そこで自動化したく、やってみた!
UbuntuwithXvn
ArchitectureOverview
UbuntuwithXvn
NATinstance
NATinstance
Intranet1 Intranet2
WebServer(hoststestapppage)
VirtualInternet
VPCNetworkSegment
TURNserver
Browser1
DataChannelTes+ng
Browser2
MediaChannelTes+ng
Browser1 Browser2
video(gUM)
video(gUM)
BrowserxBrowserxNATtypexNATtype
・Browsers・ChromeStable,ChromeBeta,ChromeUnstable・FirefoxStable(,FirefoxUnstable)
・NATtypes・Theore+cally9types(RFC4787)・sometypesnotconfigurablewithiptables ->wroteitfromscratch
・4*4*9*9=1296uh…
NATtypes
hup://www.netmanias.com/en/?m=view&id=techdocs&no=6065
UbuntuwithXvn
ArchitectureOverview
UbuntuwithXvn
NATinstance
NATinstance
Intranet1 Intranet2
WebServer(hoststestapppage)
VirtualInternet
VPCNetworkSegment
TURNserver
UbuntuwithXvn
ArchitectureOverview(Detailedver.)
Intranet1 Intranet2
WebServer(hoststestapppage)
VirtualInternet
VPCNetworkSegment
UbuntuwithXvn
UbuntuwithXvnUbuntuwithXvnUbuntuwithXvn
16clients
NATType9
NATType8
NATType7
NATType6
NATType5
NATType4
NATType3
NATType2
NATType1
UbuntuwithXvn
UbuntuwithXvn
UbuntuwithXvnUbuntuwithXvnUbuntuwithXvn
16clients
NATType9
NATType8
NATType7
NATType6
NATType5
NATType4
NATType3
NATType2
NATType1
TURNserver
TestresultandPacketvisualiza+onsee->hup://status.skyway.io
Thanks!!