đ¤ āĻেāύ UI Test āĻĻāϰāĻাāϰ? āĻšাāϤে āĻĒāϰীāĻ্āώা āĻāϰāϞেāĻ āϤো āĻšā§!
đ¤ āĻেāύ UI Test āĻĻāϰāĻাāϰ? āĻšাāϤে āĻĒāϰীāĻ্āώা āĻāϰāϞেāĻ āϤো āĻšā§!
āĻāĻāĻা āĻĒ্āϰāĻļ্āύ āĻাāĻŦো—
✅ āϤুāĻŽি āĻি āĻĒ্āϰāϤিāĻŦাāϰ āύāϤুāύ āĻোāĻĄ āϞেāĻাāϰ āĻĒāϰ āĻŽ্āϝাāύুā§াāϞি āĻĒুāϰো āĻ
্āϝাāĻĒ āĻাāϞিā§ে āϏāĻŦ āĻিāĻু āĻেāϏ্āĻ āĻāϰāĻŦে? đ¤¯
đ āϝāĻĻি āĻ
্āϝাāĻĒে ā§§ā§Ļā§ĻāĻা āϏ্āĻ্āϰিāύ āĻĨাāĻে, ā§Ģā§ĻāĻা āĻŦাāĻāύ āĻĨাāĻে, āϤাāĻšāϞে āĻĒ্āϰāϤিāĻŦাāϰ āϏāĻŦ āĻিāĻু āĻšাāϤে āĻেāĻ āĻāϰা āĻ
āϏāĻŽ্āĻāĻŦ!
đ āĻŦিāĻļেāώ āĻāϰে āĻ
্āϝাāĻĒে āύāϤুāύ āĻĢিāĻাāϰ āϝোāĻ āĻāϰাāϰ āĻĒāϰ āĻĒুāϰāύো āĻĢিāĻাāϰ āĻ িāĻāĻŽāϤো āĻাāĻ āĻāϰāĻে āĻিāύা āύিāĻļ্āĻিāϤ āĻāϰāϤে āĻšāĻŦে।
āĻāĻāύ āϧāϰো,
1️⃣ āϤুāĻŽি āĻāĻāĻা āĻĢিāĻাāϰ āĻāĻĒāĻĄেāĻ āĻāϰেāĻো।
2️⃣ āύāϤুāύ āĻোāĻĄ āĻ
্āϝাāĻĄ āĻāϰাāϰ āĻĒāϰ āĻĒুāϰāύো āĻোāύো āĻŦাāĻāύ āĻাāĻ āĻāϰāĻে āύা! đą
3️⃣ āĻāĻāύ āϝāĻĻি UI Test āĻ
āĻোāĻŽেāĻেāĻĄ āĻāϰা āĻĨাāĻে, āϤাāĻšāϞে āĻেāϏ্āĻ āĻাāϞিā§ে āϏাāĻĨে āϏাāĻĨে āĻুāϞ āϧāϰে āĻĢেāϞা āϝাāĻŦে। ✅
đĨ Automated UI Test āĻেāύ āĻĻāϰāĻাāϰ?
1️⃣ āĻŦā§ āĻ
্āϝাāĻĒে āĻŽ্āϝাāύুā§াāϞ āĻেāϏ্āĻ āϏāĻŽ্āĻāĻŦ āύā§।
2️⃣ Bug āϧāϰে āĻĢেāϞা āϏāĻšāĻ āĻšā§।
3️⃣ āύāϤুāύ āĻāĻĒāĻĄেāĻেāϰ āĻĒāϰ āϏāĻŦ āĻিāĻু āĻ িāĻ āĻāĻে āĻিāύা āύিāĻļ্āĻিāϤ āĻāϰা āϝাā§।
4️⃣ āĻŽোāĻŦাāĻāϞ āϏ্āĻ্āϰিāύ āϏাāĻāĻ, āĻ
্āϝাāύ্āĻĄ্āϰā§েāĻĄ āĻাāϰ্āϏāύ āĻ
āύুāϝাā§ী āĻাāĻ āĻেāĻ āĻāϰা āϝাā§।
đ UI Test āĻāϰ āϧāϰāĻŖ
| Test Type | āĻŦ্āϝাāĻ্āϝা | āĻāĻāύ āĻĻāϰāĻাāϰ? |
|---|---|---|
| Manual Testing | āύিāĻেāϰ āĻšাāϤে āĻ ্āϝাāĻĒে āĻ্āϞিāĻ āĻāϰে āĻেāĻ āĻāϰা | āĻোāĻ āĻ ্āϝাāĻĒে āĻ িāĻ āĻāĻে, āĻিāύ্āϤু āĻŦā§ āĻ ্āϝাāĻĒে āϏāĻŽā§āϏাāĻĒেāĻ্āώ |
| Unit Testing | āĻāϞাāĻĻা āĻāϞাāĻĻা āĻĢাংāĻļāύ āĻŦা āĻ্āϞাāϏ āĻ িāĻāĻŽāϤো āĻাāĻ āĻāϰāĻে āĻিāύা | āĻŦ্āϝাāĻāĻāύ্āĻĄ āĻোāĻĄ āĻŦা āϞāĻিāĻ āĻেāĻ āĻāϰāϤে |
| UI Testing (Espresso / Compose Test) | āĻ āĻোāĻŽেāĻেāĻĄāĻাāĻŦে UI-āϤে āĻ্āϞিāĻ āĻāϰা, āϏ্āĻ্āϰāϞ āĻāϰা, āĻেāĻ্āϏāĻ āĻেāĻ āĻāϰা | āĻŦā§ āĻ ্āϝাāĻĒে āĻĒ্āϰā§োāĻāύীā§ |
| Instrumentation Testing | āĻĒুāϰো āĻ ্āϝাāĻĒ āĻাāϞিā§ে āϏিāĻŽুāϞেāĻেāĻĄ āĻāύāĻাā§āϰāύāĻŽেāύ্āĻে āĻেāϏ্āĻ āĻāϰা | āĻ ্āϝাāĻĒ āϏ্āĻ্āϝাāĻŦিāϞিāĻি āύিāĻļ্āĻিāϤ āĻāϰāϤে |
đ Espresso āĻĻিā§ে UI Test Example
@RunWith(AndroidJUnit4.class)
public class MainActivityTest {
@Rule
public ActivityScenarioRule<MainActivity> activityRule =
new ActivityScenarioRule<>(MainActivity.class);
@Test
public void checkButtonClick() {
// āĻŦাāĻāύে āĻ্āϞিāĻ āĻāϰো
onView(withId(R.id.my_button)).perform(click());
// āĻেāĻ্āϏāĻ āĻেāĻ āĻāϰো
onView(withId(R.id.my_textview)).check(matches(withText("Clicked!")));
}
}
✅ āĻāĻা āύিāĻে āύিāĻে āĻেāĻ āĻāϰāĻŦে:
đš āĻŦাāĻāύে āĻ্āϞিāĻ āĻāϰāϞে āĻেāĻ্āϏāĻ āĻেāĻ্āĻ āĻšā§ āĻিāύা।
đš āĻ
āύ্āϝ āĻোāύো Bug āĻāĻে āĻিāύা।
đ Jetpack Compose UI Test Example
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun checkButtonClick() {
composeTestRule.setContent {
MyComposableScreen()
}
composeTestRule.onNodeWithText("Click Me").performClick()
composeTestRule.onNodeWithText("Clicked!").assertExists()
}
✅ āĻāĻা āύিāĻে āύিāĻে āĻেāĻ āĻāϰāĻŦে:
đš Jetpack Compose UI āĻ িāĻ āĻāĻে āĻিāύা।
đš āĻŦাāĻāύ āĻĒ্āϰেāϏ āĻāϰāϞে āĻেāĻ্āϏāĻ āĻĒāϰিāĻŦāϰ্āϤāύ āĻšā§ āĻিāύা।
đ āϤাāĻšāϞে UI Test Dependency āĻেāύ āϞাāĻāĻŦে?
āĻāĻুāϞোāϰ āĻাāĻ āĻšāĻ্āĻে āĻ
āĻোāĻŽেāĻেāĻĄāĻাāĻŦে āĻ
্āϝাāĻĒ āĻাāϞিā§ে Bug āϧāϰিā§ে āĻĻেāĻā§া।
đ Espresso → XML UI-āϰ āĻāύ্āϝ
đ Compose UI Test → Jetpack Compose UI-āϰ āĻāύ্āϝ
đ Test Runner → āĻĒুāϰো UI Test āĻĒāϰিāĻাāϞāύা āĻāϰাāϰ āĻāύ্āϝ
āϤুāĻŽি āϝāĻĻি āĻĒ্āϰāϤিāĻŦাāϰ āύিāĻেāϰ āĻšাāϤে āĻ ্āϝাāĻĒ āĻাāϞিā§ে āĻেāϏ্āĻ āĻāϰāϤে āύা āĻাāĻ, āϤাāĻšāϞে āĻāĻ āĻুāϞāĻুāϞো āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰো! đđĨ
Comments
Post a Comment