SlideShare a Scribd company logo
1 of 18
TDDの話と初めてのUIテスト
(espresso)
Ichi-kato
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
About Me
 加藤一郎
 Android歴:一年ちょっと
 趣味:キャンプ、BBQ、旅行、社会人バスケ
 所属:ヤフー株式会社
(ヤフオク! Androidエンジニア)
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
TDD
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
TDDとは
 テスト駆動開発
 メリット
→エンジニアが安心する
→ソースコードが綺麗
→仕様がわかりやすい
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
HOW TO DO TDD
 失敗するテストを書く
 実装する
 テストが成功すること確認する
 リファクタリング
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
UIテスト
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
espressoまでの道のり
 今まで導入してなかった。単体テストのみ
 robolectricを使用している
 robolectricのテストは時間がかかった
 単体テスト(JUnit)+ UIテストの方が良さそう
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
Espresso
 直感的にテストコードがかけそう
 Google推奨なので安心
 CIで問題なく動かせる
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
導入
build.gradle
androidTestImplementation
“com.android.support.test.espresso:espresso-core:$rootProject.ext.espressoVersion"
androidTestImplementation
"com.android.support.test.espresso:espresso-intents:$rootProject.ext.espressoVersion"
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
ほぼ一番シンプルなテスト
@RunWith(AndroidJUnit4::class)
@LargeTest
class NotesScreenTest {
@Rule @JvmField
val notesActivityTestRule = ActivityTestRule(NotesActivity::class.java)
@Test
fun clickAddNoteButton_opensAddNoteUi() {
onView(withId(fab_add_notes)).perform(click())
onView(withId(add_note_title)).check(matches(isDisplayed()))
}
}
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
カスタムMatcher
private fun withItemText(itemText: String): Matcher<View> {
checkArgument(itemText.isNotEmpty(), "itemText cannot be null or empty")
return object : TypeSafeMatcher<View>() {
public override fun matchesSafely(item: View): Boolean {
return allOf(
isDescendantOfA(isAssignableFrom(RecyclerView::class.java)),
withText(itemText)).matches(item)
}
override fun describeTo(description: Description) {
description.appendText("isDescendantOfA RV with text $itemText")
}
}
}
@Test
fun addNoteToNotesList() {
val newNoteTitle = "Espresso"
val newNoteDescription = "UI testing for Android"
onView(withId(fab_add_notes)).perform(click())
onView(withId(add_note_title)).perform(typeText(newNoteTitle), closeSoftKeyboard())
onView(withId(R.id.add_note_description)).perform(typeText(newNoteDescription), closeSoftKeyboard())
onView(withId(fab_add_notes)).perform(click())
val action = scrollTo<RecyclerView.ViewHolder>(hasDescendant(withText(newNoteDescription)))
onView(withId(notes_list)).perform(action)
onView(withItemText(newNoteDescription)).check(matches(isDisplayed()))
}
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
Activityの起動を遅らせる
@Rule @JvmField
var noteDetailActivityTestRule =
ActivityTestRule(NoteDetailActivity::class.java, true,
false)
@Before
fun intentWithStubbedNoteId() {
FakeNotesServiceApiImpl.addNotes(NOTE)
val startIntent = Intent()
startIntent.putExtra(NoteDetailActivity.EXTRA_NOTE_ID, NOTE.id)
noteDetailActivityTestRule.launchActivity(startIntent)
registerIdlingResource()
}
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
アイドリング状態になったらテ
スト開始
object EspressoIdlingResource {
private const val RESOURCE = "GLOBAL"
private val mCountingIdlingResource = SimpleCountingIdlingResource(RESOURCE)
val idlingResource: IdlingResource
get() = mCountingIdlingResource
fun increment() {
mCountingIdlingResource.increment()
}
fun decrement() {
mCountingIdlingResource.decrement()
}
}
@Before
private fun registerIdlingResource() {
IdlingRegistry.getInstance().register(noteDetailActivityTestRule.activity.countingIdlingResource)
}
@After
fun unregisterIdlingResource() {
IdlingRegistry.getInstance().unregister(noteDetailActivityTestRule.activity.countingIdlingResource)
}
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
アイドリング状態になったらテ
スト開始
class SimpleCountingIdlingResource(resourceName: String) : IdlingResource {
private val mResourceName: String = checkNotNull(resourceName)
private val counter = AtomicInteger(0)
@Volatile
private var resourceCallback: IdlingResource.ResourceCallback? = null
override fun getName(): String {
return mResourceName
}
override fun isIdleNow(): Boolean {
return counter.get() == 0
}
override fun registerIdleTransitionCallback(resourceCallback: IdlingResource.ResourceCallback) {
this.resourceCallback = resourceCallback
}
fun increment() {
counter.getAndIncrement()
}
fun decrement() {
val counterVal = counter.decrementAndGet()
if (counterVal == 0) {
if (null != resourceCallback) {
resourceCallback!!.onTransitionToIdle()
}
}
if (counterVal < 0) {
throw IllegalArgumentException("Counter has been corrupted!")
}
}
}
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
onactivityresultに対してテストした
い
@Rule @JvmField
var addNoteIntentsTestRule = IntentsTestRule(AddNoteActivity::class.java)
@Test
fun addImageToNote_ShowsThumbnailInUi() {
val result : ActivityResult = createImageCaptureActivityResultStub()
intending(hasAction(MediaStore.ACTION_IMAGE_CAPTURE)).respondWith(result)
onView(withId(add_note_image_thumbnail)).check(matches(not(isDisplayed())))
selectTakeImageFromMenu()
onView(withId(add_note_image_thumbnail))
.perform(scrollTo())
.check(matches(allOf(
hasDrawable(),
isDisplayed())))
}
private fun selectTakeImageFromMenu() {
openActionBarOverflowOrOptionsMenu(getTargetContext())
onView(withText(take_picture)).perform(click())
}
private fun createImageCaptureActivityResultStub(): ActivityResult {
return ActivityResult(Activity.RESULT_OK, null)
}
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
まとめ
 TDD
 テストは大事
 TDDはおすすめ
 Espresso
 とても直感的にUIテストが書ける
 学習コストは低い気がする
 他にも拡張機能が色々あり、WebViewとかもテストできる
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
参考
https://developer.android.com/training/testing/espresso/
https://codelabs.developers.google.com/codelabs/android-
testing/index.html?index=..%2F..index#0
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.
THANK YOU
Copyright © 2019 Yahoo Japan Corporation. All Rights Reserved.

More Related Content

Similar to TDDの話と初めてのUIテスト

Reinforcement Learning - Mindbridge.ai
Reinforcement Learning - Mindbridge.aiReinforcement Learning - Mindbridge.ai
Reinforcement Learning - Mindbridge.aiSerenaRemtullaLanglo
 
Twitter4jソースコードリーディング
Twitter4jソースコードリーディングTwitter4jソースコードリーディング
Twitter4jソースコードリーディングYusuke Yamamoto
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Bitbar
 
Beginning Real World iOS App Development
Beginning Real World iOS App DevelopmentBeginning Real World iOS App Development
Beginning Real World iOS App DevelopmentAndri Yadi
 
Andromance - Android Performance
Andromance - Android PerformanceAndromance - Android Performance
Andromance - Android PerformanceOrhun Mert Simsek
 
ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - S...
ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - S...ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - S...
ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - S...OPITZ CONSULTING Deutschland
 
Unit Testing in iOS - Ninjava Talk
Unit Testing in iOS - Ninjava TalkUnit Testing in iOS - Ninjava Talk
Unit Testing in iOS - Ninjava TalkLong Weekend LLC
 
How to develop nice portlet with Juzu framework
How to develop nice portlet with Juzu frameworkHow to develop nice portlet with Juzu framework
How to develop nice portlet with Juzu frameworkNguyễn Tuyến
 
Google ARが提供する WebAR 101
Google ARが提供する WebAR 101Google ARが提供する WebAR 101
Google ARが提供する WebAR 101Hirokazu Egashira
 
Software Testing
Software TestingSoftware Testing
Software Testingsuperphly
 
Cucumber & Cheese
Cucumber & CheeseCucumber & Cheese
Cucumber & Cheesechzy
 
Joget Workflow v5 Training Slides - Module 18 - Integrating with External System
Joget Workflow v5 Training Slides - Module 18 - Integrating with External SystemJoget Workflow v5 Training Slides - Module 18 - Integrating with External System
Joget Workflow v5 Training Slides - Module 18 - Integrating with External SystemJoget Workflow
 
State management for ios development
State management for ios developmentState management for ios development
State management for ios developmentDaisuke Yamashita
 
Alberto Mancini - A few benchmark on Android
Alberto Mancini - A few benchmark on AndroidAlberto Mancini - A few benchmark on Android
Alberto Mancini - A few benchmark on Androidgdg-ancona
 
Appcelerator mobile. the doppelgänger to XPages
Appcelerator mobile. the doppelgänger to XPagesAppcelerator mobile. the doppelgänger to XPages
Appcelerator mobile. the doppelgänger to XPagesJohn Jardin
 
Introduction to Robotium
Introduction to RobotiumIntroduction to Robotium
Introduction to Robotiumalii abbb
 
Joshfire Framework 0.9 Technical Overview
Joshfire Framework 0.9 Technical OverviewJoshfire Framework 0.9 Technical Overview
Joshfire Framework 0.9 Technical OverviewSylvain Zimmer
 
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...Rudy Jahchan
 
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...Kevin Hooke
 

Similar to TDDの話と初めてのUIテスト (20)

Reinforcement Learning - Mindbridge.ai
Reinforcement Learning - Mindbridge.aiReinforcement Learning - Mindbridge.ai
Reinforcement Learning - Mindbridge.ai
 
Twitter4jソースコードリーディング
Twitter4jソースコードリーディングTwitter4jソースコードリーディング
Twitter4jソースコードリーディング
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?
 
Beginning Real World iOS App Development
Beginning Real World iOS App DevelopmentBeginning Real World iOS App Development
Beginning Real World iOS App Development
 
Andromance - Android Performance
Andromance - Android PerformanceAndromance - Android Performance
Andromance - Android Performance
 
ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - S...
ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - S...ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - S...
ioS Einstieg und Ausblick - Mobile DevCon Hamburg 2011 - OPITZ CONSULTING - S...
 
Unit Testing in iOS - Ninjava Talk
Unit Testing in iOS - Ninjava TalkUnit Testing in iOS - Ninjava Talk
Unit Testing in iOS - Ninjava Talk
 
How to develop nice portlet with Juzu framework
How to develop nice portlet with Juzu frameworkHow to develop nice portlet with Juzu framework
How to develop nice portlet with Juzu framework
 
Google ARが提供する WebAR 101
Google ARが提供する WebAR 101Google ARが提供する WebAR 101
Google ARが提供する WebAR 101
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Cucumber & Cheese
Cucumber & CheeseCucumber & Cheese
Cucumber & Cheese
 
Joget Workflow v5 Training Slides - Module 18 - Integrating with External System
Joget Workflow v5 Training Slides - Module 18 - Integrating with External SystemJoget Workflow v5 Training Slides - Module 18 - Integrating with External System
Joget Workflow v5 Training Slides - Module 18 - Integrating with External System
 
State management for ios development
State management for ios developmentState management for ios development
State management for ios development
 
Alberto Mancini - A few benchmark on Android
Alberto Mancini - A few benchmark on AndroidAlberto Mancini - A few benchmark on Android
Alberto Mancini - A few benchmark on Android
 
Robotium Tutorial
Robotium TutorialRobotium Tutorial
Robotium Tutorial
 
Appcelerator mobile. the doppelgänger to XPages
Appcelerator mobile. the doppelgänger to XPagesAppcelerator mobile. the doppelgänger to XPages
Appcelerator mobile. the doppelgänger to XPages
 
Introduction to Robotium
Introduction to RobotiumIntroduction to Robotium
Introduction to Robotium
 
Joshfire Framework 0.9 Technical Overview
Joshfire Framework 0.9 Technical OverviewJoshfire Framework 0.9 Technical Overview
Joshfire Framework 0.9 Technical Overview
 
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
 
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
[CON3189] JavaOne 2016 - Introduction to Java ME development for the Raspberr...
 

More from ichirokato5

ヤフーにおけるGoの一例紹介
ヤフーにおけるGoの一例紹介ヤフーにおけるGoの一例紹介
ヤフーにおけるGoの一例紹介ichirokato5
 
Androidエンジニアになってからの1年間の感想と振り返り
Androidエンジニアになってからの1年間の感想と振り返りAndroidエンジニアになってからの1年間の感想と振り返り
Androidエンジニアになってからの1年間の感想と振り返りichirokato5
 
ARCoreアプリを作ってみよう
ARCoreアプリを作ってみようARCoreアプリを作ってみよう
ARCoreアプリを作ってみようichirokato5
 
Paging Libraryの基本的な使い方について
Paging Libraryの基本的な使い方についてPaging Libraryの基本的な使い方について
Paging Libraryの基本的な使い方についてichirokato5
 
初めてMlKitを使ってみた
初めてMlKitを使ってみた初めてMlKitを使ってみた
初めてMlKitを使ってみたichirokato5
 

More from ichirokato5 (6)

ヤフーにおけるGoの一例紹介
ヤフーにおけるGoの一例紹介ヤフーにおけるGoの一例紹介
ヤフーにおけるGoの一例紹介
 
Androidエンジニアになってからの1年間の感想と振り返り
Androidエンジニアになってからの1年間の感想と振り返りAndroidエンジニアになってからの1年間の感想と振り返り
Androidエンジニアになってからの1年間の感想と振り返り
 
ARCoreアプリを作ってみよう
ARCoreアプリを作ってみようARCoreアプリを作ってみよう
ARCoreアプリを作ってみよう
 
Paging Libraryの基本的な使い方について
Paging Libraryの基本的な使い方についてPaging Libraryの基本的な使い方について
Paging Libraryの基本的な使い方について
 
Espresso
EspressoEspresso
Espresso
 
初めてMlKitを使ってみた
初めてMlKitを使ってみた初めてMlKitを使ってみた
初めてMlKitを使ってみた
 

Recently uploaded

History of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationHistory of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationEmaan Sharma
 
handbook on reinforce concrete and detailing
handbook on reinforce concrete and detailinghandbook on reinforce concrete and detailing
handbook on reinforce concrete and detailingAshishSingh1301
 
Circuit Breakers for Engineering Students
Circuit Breakers for Engineering StudentsCircuit Breakers for Engineering Students
Circuit Breakers for Engineering Studentskannan348865
 
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...drjose256
 
Working Principle of Echo Sounder and Doppler Effect.pdf
Working Principle of Echo Sounder and Doppler Effect.pdfWorking Principle of Echo Sounder and Doppler Effect.pdf
Working Principle of Echo Sounder and Doppler Effect.pdfSkNahidulIslamShrabo
 
Diploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfDiploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfJNTUA
 
Passive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptPassive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptamrabdallah9
 
Seizure stage detection of epileptic seizure using convolutional neural networks
Seizure stage detection of epileptic seizure using convolutional neural networksSeizure stage detection of epileptic seizure using convolutional neural networks
Seizure stage detection of epileptic seizure using convolutional neural networksIJECEIAES
 
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas SachpazisSeismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas SachpazisDr.Costas Sachpazis
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsMathias Magdowski
 
Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligencemahaffeycheryld
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdfKamal Acharya
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...josephjonse
 
CLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalCLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalSwarnaSLcse
 
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfInvolute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfJNTUA
 
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTUUNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTUankushspencer015
 
Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..MaherOthman7
 
Interfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfInterfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfragupathi90
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxCHAIRMAN M
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxMustafa Ahmed
 

Recently uploaded (20)

History of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & ModernizationHistory of Indian Railways - the story of Growth & Modernization
History of Indian Railways - the story of Growth & Modernization
 
handbook on reinforce concrete and detailing
handbook on reinforce concrete and detailinghandbook on reinforce concrete and detailing
handbook on reinforce concrete and detailing
 
Circuit Breakers for Engineering Students
Circuit Breakers for Engineering StudentsCircuit Breakers for Engineering Students
Circuit Breakers for Engineering Students
 
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
Tembisa Central Terminating Pills +27838792658 PHOMOLONG Top Abortion Pills F...
 
Working Principle of Echo Sounder and Doppler Effect.pdf
Working Principle of Echo Sounder and Doppler Effect.pdfWorking Principle of Echo Sounder and Doppler Effect.pdf
Working Principle of Echo Sounder and Doppler Effect.pdf
 
Diploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfDiploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdf
 
Passive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptPassive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.ppt
 
Seizure stage detection of epileptic seizure using convolutional neural networks
Seizure stage detection of epileptic seizure using convolutional neural networksSeizure stage detection of epileptic seizure using convolutional neural networks
Seizure stage detection of epileptic seizure using convolutional neural networks
 
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas SachpazisSeismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
Seismic Hazard Assessment Software in Python by Prof. Dr. Costas Sachpazis
 
Filters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility ApplicationsFilters for Electromagnetic Compatibility Applications
Filters for Electromagnetic Compatibility Applications
 
Artificial Intelligence in due diligence
Artificial Intelligence in due diligenceArtificial Intelligence in due diligence
Artificial Intelligence in due diligence
 
Insurance management system project report.pdf
Insurance management system project report.pdfInsurance management system project report.pdf
Insurance management system project report.pdf
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
 
CLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference ModalCLOUD COMPUTING SERVICES - Cloud Reference Modal
CLOUD COMPUTING SERVICES - Cloud Reference Modal
 
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdfInvolute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
Involute of a circle,Square, pentagon,HexagonInvolute_Engineering Drawing.pdf
 
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTUUNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
UNIT-2 image enhancement.pdf Image Processing Unit 2 AKTU
 
Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..Maher Othman Interior Design Portfolio..
Maher Othman Interior Design Portfolio..
 
Interfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdfInterfacing Analog to Digital Data Converters ee3404.pdf
Interfacing Analog to Digital Data Converters ee3404.pdf
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptx
 

TDDの話と初めてのUIテスト

Editor's Notes

  1. ユニットテストに適している