ಲಾಭಗಳು:
- ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆಯೊಂದಿಗೆ ದೃಢವಾದ UI ಪರೀಕ್ಷಾ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ಸಾಮರ್ಥ್ಯ, ಡೇಟಾ-ಟೆಸ್ಟಿಡ್, ತೆರೆದ ಕಾಯುವಿಕೆ ಮತ್ತು ನೈಜ ಬಳಕೆದಾರ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಎಂದು ಪ್ರತಿಪಾದಿಸುತ್ತದೆ
- ದುರ್ಬಲವಾದ ಪರೀಕ್ಷೆಗಳನ್ನು ತಪ್ಪಿಸುವ ಸಾಮರ್ಥ್ಯ (ಕೆಟ್ಟ ಆಯ್ಕೆ, ಕುರುಡು ಕಾಯುವಿಕೆ) ಮತ್ತು ಪೇಜ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾದರಿ ರಚನೆಯಲ್ಲಿ ನಿರ್ವಹಿಸಲು ಪರೀಕ್ಷೆಗಳನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ
- ಕೋಡ್ ಅನ್ನು ಮುರಿಯುವ ಮೂಲಕ ಉತ್ಪತ್ತಿಯಾಗುವ ಪ್ರತಿಯೊಂದು UI ಪರೀಕ್ಷೆಯನ್ನು ಪರೀಕ್ಷಿಸುವ ಸಾಮರ್ಥ್ಯ ಮತ್ತು ನಕಲಿ-ಪಾಸ್ ಮಾಡಿದ ಪರೀಕ್ಷೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಿ ಮತ್ತು ಸರಿಪಡಿಸುವ ಸಾಮರ್ಥ್ಯ
ಬ್ರೌಸರ್ನಲ್ಲಿ ಬಳಕೆದಾರರು ಮಾಡುವ ಪ್ರತಿ ಕ್ಲಿಕ್, ಪ್ರತಿ ಫಾರ್ಮ್ ಫಿಲ್, ಪ್ರತಿ ಪುಟ ಪರಿವರ್ತನೆಯನ್ನು ಕೈಯಿಂದ ಪದೇ ಪದೇ ಪರೀಕ್ಷಿಸಲಾಗುವುದಿಲ್ಲ - ಅದಕ್ಕಾಗಿಯೇ UI ಪರೀಕ್ಷಾ ಯಾಂತ್ರೀಕೃತಗೊಂಡ (ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್; ಈ ಪರೀಕ್ಷೆಗಳು ಪ್ರೋಗ್ರಾಮಿಕ್ ಆಗಿ ನೈಜ ಬ್ರೌಸರ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಮೂಲಕ ಬಳಕೆದಾರರ ನಡವಳಿಕೆಯನ್ನು ಅನುಕರಿಸುತ್ತದೆ) ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. ಸೆಲೆನಿಯಮ್, ಪ್ಲೇರೈಟ್ ಮತ್ತು ಸೈಪ್ರೆಸ್ ಈ ಕೆಲಸಕ್ಕಾಗಿ ಸಾಮಾನ್ಯ ಸಾಧನಗಳಾಗಿವೆ. ಕೃತಕ ಬುದ್ಧಿಮತ್ತೆ (AI) ಈ ಉಪಕರಣಗಳಿಗೆ ಕೋಡ್ ಬರೆಯುವಲ್ಲಿ ಹೆಚ್ಚು ಪರಿಣತಿ ಹೊಂದಿದೆ: ನೀವು ಪರೀಕ್ಷಾ ಪ್ರಕರಣವನ್ನು ವಿವರಿಸುತ್ತೀರಿ, AI ನಿಮಗೆ ಕಾರ್ಯಸಾಧ್ಯವಾದ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಸ್ಕ್ರಿಪ್ಟ್ನ ಡ್ರಾಫ್ಟ್ ಅನ್ನು ನೀಡುತ್ತದೆ. ಆದರೆ ಇಲ್ಲಿ ಈ ಮಾಡ್ಯೂಲ್ನ ಕೇಂದ್ರ ಎಚ್ಚರಿಕೆಯು ಮತ್ತೊಮ್ಮೆ ಕಾರ್ಯರೂಪಕ್ಕೆ ಬರುತ್ತದೆ: AI ಉತ್ಪಾದಿಸುವ UI ಪರೀಕ್ಷಾ ಕೋಡ್ ಸಾಮಾನ್ಯವಾಗಿ ದುರ್ಬಲವಾದ ಪರೀಕ್ಷೆಗಳಾಗಿರಬಹುದು, ಅದು "ಹಸಿರು ಬೆಳಗಿಸುತ್ತದೆ ಆದರೆ ತಪ್ಪಾದ ವಿಷಯವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ" ಅಥವಾ ಗಾಳಿಯಲ್ಲಿ ಫ್ಲಾಪ್ ಮಾಡುತ್ತದೆ. ನಿಮ್ಮ ಕೆಲಸವು ಈ ಕೋಡ್ ಅನ್ನು ರನ್ ಮಾಡುವುದು ಅಲ್ಲ, ಆದರೆ ಅದು ನಿಜವಾಗಿ ಸರಿಯಾದ ವಿಷಯವನ್ನು ದೃಢವಾಗಿ ಪರಿಶೀಲಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು.
ಈ ಘಟಕದಲ್ಲಿ, ನಾವು AI ಜೊತೆಗೆ ದೃಢವಾದ, ನಿರ್ವಹಿಸಬಹುದಾದ ಮತ್ತು ನಿಜವಾಗಿಯೂ ಮೌಲ್ಯೀಕರಿಸುವ UI ಪರೀಕ್ಷೆಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದ್ದೇವೆ; ದುರ್ಬಲವಾದ ಪರೀಕ್ಷೆಗಳನ್ನು ತಪ್ಪಿಸಲು ನೀವು ಕಲಿಯುವಿರಿ.
ಘನ UI ಪರೀಕ್ಷೆಯ ಮೂರು ಸ್ತಂಭಗಳು
1. ಸರಿಯಾದ ಅಂಶ ಪತ್ತೆಕಾರಕ. ಪುಟದಲ್ಲಿನ ಅಂಶವನ್ನು ಹುಡುಕಲು ಪರೀಕ್ಷೆಯು ಆಯ್ಕೆಯನ್ನು ಬಳಸುತ್ತದೆ. AI ಸಾಮಾನ್ಯವಾಗಿ ಸುಲಭವಾಗಿ ಸೆಲೆಕ್ಟರ್ಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ: ಉದ್ದವಾದ XPath ಮಾರ್ಗಗಳು (ವಿಳಾಸವು ಪುಟ ರಚನೆಯ ಮೇಲೆ ಹೆಚ್ಚು ಅವಲಂಬಿತವಾಗಿದೆ), CSS ವರ್ಗದ ಹೆಸರುಗಳನ್ನು ಆಧರಿಸಿದ ಆಯ್ಕೆಗಳು (ವಿನ್ಯಾಸ ಬದಲಾದಾಗ ಬ್ರೇಕ್). ಡೆವಲಪರ್ ಪರೀಕ್ಷೆಗಾಗಿ ಸೇರಿಸಿದ ಡೇಟಾ-ಟೆಸ್ಟಿಡ್ನಂತಹ ಸ್ಥಿರ ಗುಣಲಕ್ಷಣಗಳು ದೃಢವಾದ ಮಾರ್ಗವಾಗಿದೆ. ಇದನ್ನು AI ಮೇಲೆ ಸ್ಪಷ್ಟವಾಗಿ ಹೇರಿ.
2. ಸ್ಪಷ್ಟ ಕಾಯುವಿಕೆ. UI ಪರೀಕ್ಷೆಯಲ್ಲಿನ ದುರ್ಬಲತೆಯ ಮೊದಲ ಮೂಲವೆಂದರೆ ಸಮಯ. ನಿರಂತರ ನಿದ್ರೆ (3) (ಕುರುಡು ಕಾಯುವಿಕೆ) ಕೆಟ್ಟ ಅಭ್ಯಾಸ: ಕೆಲವೊಮ್ಮೆ ಇದು ಸಾಕಾಗುವುದಿಲ್ಲ, ಕೆಲವೊಮ್ಮೆ ಸಮಯ ವ್ಯರ್ಥವಾಗುತ್ತದೆ. "ಈ ಅಂಶ ಕಾಣಿಸಿಕೊಳ್ಳುವವರೆಗೆ ಕಾಯಿರಿ" ಎಂದು ಹೇಳುವ ಸ್ಪಷ್ಟವಾದ ಕಾಯುವಿಕೆಯನ್ನು ಬಳಸುವುದು ಸರಿಯಾದ ಮಾರ್ಗವಾಗಿದೆ. ನಾಟಕಕಾರರು ಇದನ್ನು ಹೆಚ್ಚಾಗಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮಾಡುತ್ತಾರೆ; ಸೆಲೆನಿಯಮ್ನಲ್ಲಿ ನೀವು ಅದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ವಿನಂತಿಸಬೇಕು.
3. ಅರ್ಥಪೂರ್ಣ ಪ್ರತಿಪಾದನೆ. ಪರೀಕ್ಷೆಯು ಬಳಕೆದಾರರು ನಿಜವಾಗಿ ನೋಡುವ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸಬೇಕು - "ಆರ್ಡರ್ ಸಂಖ್ಯೆ ಪರದೆಯ ಮೇಲೆ ಕಾಣಿಸಿಕೊಂಡಿದೆ", ಕೇವಲ "ಪುಟ ಲೋಡ್ ಆಗಿದೆ" ಅಲ್ಲ. AI ನಿಂದ ತಯಾರಿಸಲಾದ ಪರೀಕ್ಷೆಯು ಸಮರ್ಥನೆಯನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ ಅಥವಾ ಮುಖ್ಯವಲ್ಲದಿದ್ದರೆ, ಆ ಪರೀಕ್ಷೆಯು ಹುಸಿ-ಪಾಸ್ (1 ನೇ ಘಟಕ) ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ.
ಎಚ್ಚರಿಕೆ: ನೀವು ಮೊದಲು AI-ರಚಿಸಿದ UI ಪರೀಕ್ಷೆಯನ್ನು ನೋಡಿದಾಗ, ಹೆಚ್ಚೆಂದರೆ ಮೂರು ವಿಷಯಗಳನ್ನು ಪರಿಶೀಲಿಸಿ: ಆಯ್ಕೆದಾರರು ಬದ್ಧರಾಗಿದ್ದಾರೆಯೇ (ಡೇಟಾ-ಟೆಸ್ಟಿಡ್), ಕಾಯುತ್ತಿದ್ದಾರೆ (ಕುರುಡು ನಿದ್ರೆ ಇಲ್ಲ), ಮತ್ತು ಪ್ರತಿಪಾದನೆಯು ನಿಜವಾದ ಬಳಕೆದಾರರ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆಯೇ? ಈ ಮೂರು ಸರಿಯಾಗಿದ್ದರೆ, ಪರೀಕ್ಷೆಯು ಬಹುಶಃ ಘನವಾಗಿರುತ್ತದೆ.
ಪುಟ ವಸ್ತು ಮಾದರಿ
ಪರೀಕ್ಷೆಗಳು ದೊಡ್ಡದಾಗುತ್ತಿದ್ದಂತೆ, ಪ್ರತಿ ಪರೀಕ್ಷೆಯೊಳಗೆ ಆಯ್ಕೆದಾರರನ್ನು ಬರೆಯುವುದು ನಿರ್ವಹಣೆ ದುಃಸ್ವಪ್ನವಾಗುತ್ತದೆ. ಪೇಜ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ (POM — ಪ್ರತಿ ಪುಟ/ಸ್ಕ್ರೀನ್ಗೆ ಸೆಲೆಕ್ಟರ್ಗಳು ಮತ್ತು ಕ್ರಿಯೆಗಳನ್ನು ಒಂದೇ ವರ್ಗಕ್ಕೆ ಸಂಗ್ರಹಿಸುವ ವಿನ್ಯಾಸ ಮಾದರಿ) ಸೆಲೆಕ್ಟರ್ ಅನ್ನು ಒಂದೇ ಸ್ಥಳದಲ್ಲಿ ಇರಿಸುತ್ತದೆ; ಇಂಟರ್ಫೇಸ್ ಬದಲಾದಾಗ, ನೀವು ಅದನ್ನು ಒಂದೇ ಫೈಲ್ನಲ್ಲಿ ನವೀಕರಿಸಿ. AI ನೇರವಾಗಿ ಪರೀಕ್ಷೆಗಳನ್ನು POM ರಚನೆಯಲ್ಲಿ ಉತ್ಪಾದಿಸುವಂತೆ ಮಾಡಿ; ಇದು ನಿರ್ವಹಣೆಯನ್ನು ಆಮೂಲಾಗ್ರವಾಗಿ ಸುಲಭಗೊಳಿಸುತ್ತದೆ.
ದುರ್ಬಲ ಪ್ರಾಂಪ್ಟ್ / ಬಲವಾದ ಪ್ರಾಂಪ್ಟ್
ದುರ್ಬಲ: "ಲಾಗಿನ್ ಪುಟಕ್ಕಾಗಿ ಸೆಲೆನಿಯಮ್ ಪರೀಕ್ಷೆಯನ್ನು ಬರೆಯಿರಿ."
ಪ್ರಬಲ: "ಪ್ಲೇರೈಟ್ (ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್) ಜೊತೆಗೆ ಲಾಗಿನ್ ಫ್ಲೋ ಪರೀಕ್ಷೆಯನ್ನು ಬರೆಯಿರಿ. ಆಯ್ಕೆದಾರರು ಡೇಟಾ-ಟೆಸ್ಟಿಡ್ ಅನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತಾರೆ; ಬಳಕೆದಾರರು ನೋಡುವ ನಿಯಂತ್ರಣವನ್ನು ಬಳಸಬೇಡಿ, ಪುಟದ ಶೀರ್ಷಿಕೆಯಲ್ಲ."
ಶಕ್ತಿಯುತ ಪ್ರಾಂಪ್ಟ್; ಉಪಕರಣವು ಭಾಷೆ, ಆಯ್ಕೆ ನೀತಿ, ಕಾಯುವ ತಂತ್ರ, ವಾಸ್ತುಶಿಲ್ಪ (POM) ಮತ್ತು ಅಭಿವ್ಯಕ್ತಿಶೀಲ ಪ್ರತಿಪಾದನೆಯ ನಿರೀಕ್ಷೆಯನ್ನು ನೀಡುತ್ತದೆ.
ಪರೀಕ್ಷಾ ಡೇಟಾ ಮತ್ತು ಪರಿಸರ ಸ್ವಾತಂತ್ರ್ಯ
ಘನ UI ಪರೀಕ್ಷೆಯನ್ನು ಸರಿಯಾಗಿ ಬರೆಯಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ತನ್ನದೇ ಆದ ಪರೀಕ್ಷಾ ಡೇಟಾವನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ ಮತ್ತು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತದೆ. AI-ರಚಿತ ಪರೀಕ್ಷೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಪರಿಸರದಲ್ಲಿ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಎಂದು ಭಾವಿಸಲಾದ ಬಳಕೆದಾರ ಅಥವಾ ದಾಖಲೆಗೆ ಲಿಂಕ್ ಮಾಡುತ್ತವೆ ("ನಿರ್ವಾಹಕ ಬಳಕೆದಾರರಾಗಿ ಲಾಗ್ ಇನ್ ಮಾಡಿ"). ಪರೀಕ್ಷೆಯು ಮತ್ತೊಂದು ಪರಿಸರದಲ್ಲಿ ಅಥವಾ ಇನ್ನೊಂದು ಪರೀಕ್ಷೆಯ ನಂತರ (ಘಟಕ 9 ರಲ್ಲಿ ಆರ್ಡರ್ ಅವಲಂಬನೆ ಸಮಸ್ಯೆ) ನಡೆಯುವಾಗ ಈ ಊಹೆಯು ಮುರಿಯುತ್ತದೆ. ಸತ್ಯವೆಂದರೆ ಪ್ರತಿ ಪರೀಕ್ಷೆಯು ಪರೀಕ್ಷೆಯ ಪ್ರಾರಂಭದಲ್ಲಿ ಅಗತ್ಯವಿರುವ ಡೇಟಾವನ್ನು ರಚಿಸುತ್ತದೆ (ಅಥವಾ ಅದನ್ನು API ಕರೆಯೊಂದಿಗೆ ಸಿದ್ಧಪಡಿಸುತ್ತದೆ) ಮತ್ತು ಕೊನೆಯಲ್ಲಿ ಅದನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತದೆ. "ಈ ಪರೀಕ್ಷೆಯು ಪರೀಕ್ಷೆಯೊಳಗೆ ಅವಲಂಬಿಸಿರುವ ಯಾವುದೇ ಡೇಟಾವನ್ನು ಹೊಂದಿಸಲು AI ಗೆ ಸ್ಪಷ್ಟವಾಗಿ ಸೂಚಿಸಿ; ಹೊರಗಿನಿಂದ ಸಿದ್ದವಾಗಿರುವ ಡೇಟಾವನ್ನು ಊಹಿಸಬೇಡಿ."
ನೈಜ ಬಳಕೆದಾರ ಡೇಟಾದೊಂದಿಗೆ UI ಪರೀಕ್ಷೆಯನ್ನು ಮಾಡದಿರುವುದು ಮತ್ತೊಂದು ನಿರ್ಣಾಯಕ ಅಂಶವಾಗಿದೆ. ಪರೀಕ್ಷಾ ಪರಿಸರದಲ್ಲಿ ಉತ್ಪಾದನಾ ಡೇಟಾಬೇಸ್ ನಕಲನ್ನು ಬಳಸಿದರೆ, ಈ ದಾಖಲೆಗಳು ನೈಜ ವ್ಯಕ್ತಿಗಳ ಡೇಟಾ; ಸ್ಕ್ರೀನ್ಶಾಟ್ಗಳು ಮತ್ತು ಪರೀಕ್ಷಾ ರೆಕಾರ್ಡಿಂಗ್ಗಳು ಈ ಡೇಟಾವನ್ನು ಬಹಿರಂಗಪಡಿಸಬಹುದು. ಸಂಶ್ಲೇಷಿತ (ಕಾಲ್ಪನಿಕ) ಪರೀಕ್ಷಾ ಖಾತೆಗಳನ್ನು ಬಳಸಿ; ಇದು ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸುತ್ತದೆ ಮತ್ತು ಪರೀಕ್ಷೆಗಳನ್ನು ಪುನರುತ್ಪಾದಿಸುವಂತೆ ಮಾಡುತ್ತದೆ. ನಿಜವಾದ ಗ್ರಾಹಕ ಖಾತೆಯೊಂದಿಗೆ "ಆರ್ಡರ್ ರದ್ದತಿ" ಪರೀಕ್ಷೆಯನ್ನು ನಡೆಸುವುದು ನೈತಿಕ ಮತ್ತು ಕಾರ್ಯಾಚರಣೆಯ ತಪ್ಪು.
ಸಲಹೆ: UI ಪರೀಕ್ಷೆಗಳನ್ನು ಸಾಧ್ಯವಾದಷ್ಟು ಕಡಿಮೆ ಮಾಡಿ; ವೇಗವಾದ ಮತ್ತು ಸ್ಥಿರವಾಗಿರುವ API ಮತ್ತು ಯುನಿಟ್ ಪರೀಕ್ಷೆಗಳಿಗೆ ನಿಜವಾದ ಪರಿಶೀಲನೆಯನ್ನು ಬಿಡಿ. UI ಪರೀಕ್ಷೆಯು ದುಬಾರಿ ಮತ್ತು ದುರ್ಬಲವಾಗಿರುತ್ತದೆ - ನಿಜವಾದ ಅಂತ್ಯದಿಂದ ಕೊನೆಯ ಬಳಕೆದಾರರ ಹರಿವನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ಮಾತ್ರ ಇದನ್ನು ಬಳಸಿ (ಪರೀಕ್ಷಾ ಪಿರಮಿಡ್ ತರ್ಕ).
ವಾಹನ ಹೋಲಿಕೆ
ವೈಶಿಷ್ಟ್ಯ
ಸೆಲೆನಿಯಮ್
ನಾಟಕಕಾರ
ಸೈಪ್ರೆಸ್
ಭಾಷೆಗಳು
ಜಾವಾ, ಸಿ#, ಪೈಥಾನ್, ಜೆಎಸ್
JS/TS, ಪೈಥಾನ್, .NET, ಜಾವಾ
ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್/ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್
ಸ್ವಯಂ ಸ್ಟ್ಯಾಂಡ್ಬೈ
ಇಲ್ಲ (ಕೈಯಿಂದ)
ಹೌದು (ಬಲವಾದ)
ಹೌದು
ಬಹು ಬ್ರೌಸರ್
ಅಗಲ
Chromium/Firefox/WebKit
ಕ್ರೋಮಿಯಂ-ಪ್ರಾಬಲ್ಯ
ದುರ್ಬಲತೆಗೆ ಪ್ರವೃತ್ತಿ
ಹೆಚ್ಚಿನ (ಹಸ್ತಚಾಲಿತ ಸ್ಟ್ಯಾಂಡ್ಬೈ)
ಕಡಿಮೆ
ಕಡಿಮೆ
ಕಲಿಕೆಯ ಸುಲಭ
ಮಧ್ಯಮ
ಸುಲಭ
ಸುಲಭ
ಸಮಾನಾಂತರ ಕಾರ್ಯಾಚರಣೆ
ಗ್ರಿಡ್ ಅಗತ್ಯವಿದೆ
ಅಂತರ್ನಿರ್ಮಿತ
ನಿವಾಸಿ / ಪಾವತಿಸಿದ
AI ನಿಂದ ಕೋಡ್ ಅನ್ನು ವಿನಂತಿಸುವಾಗ, ಅದು ಯಾವ ವಾಹನಕ್ಕೆ ಸೇರಿದೆ ಎಂಬುದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ತಿಳಿಸಿ; ಇಲ್ಲದಿದ್ದರೆ, ಇದು ಗೊಂದಲಮಯ, ಕೆಲಸ ಮಾಡದ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸಬಹುದು.
ನಾಲ್ಕು ನಕಲಿಸಬಹುದಾದ ಟೆಂಪ್ಲೇಟ್ಗಳು
1) ಘನ UI ಪರೀಕ್ಷಾ ಉತ್ಪಾದನೆ:
ನಿಮ್ಮ ಪಾತ್ರ: ಹಿರಿಯ ಪರೀಕ್ಷಾ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಇಂಜಿನಿಯರ್. ಕೆಳಗಿನ ಹರಿವಿಗಾಗಿ [ಉಪಕರಣ + ಭಾಷೆ] ಜೊತೆಗೆ ಪರೀಕ್ಷೆಗಳನ್ನು ಬರೆಯಿರಿ: [ಹರಿವು]. ನಿಯಮಗಳು:- ಆಯ್ಕೆದಾರರು ಡೇಟಾ-ಪರೀಕ್ಷೆ ಮಾತ್ರ; XPath/CSS-ಕ್ಲಾಸ್ ಅನ್ನು ಬಳಸುವುದು. - ಕುರುಡು ನಿದ್ರೆ ಇಲ್ಲ; ಸ್ಪಷ್ಟ/ಸ್ವಯಂಚಾಲಿತ ಕಾಯುವಿಕೆಯನ್ನು ಬಳಸಿ. - ಪುಟದ ವಸ್ತು ಮಾದರಿಯನ್ನು ಅನ್ವಯಿಸಿ. - ಪ್ರತಿ ಪ್ರತಿಪಾದನೆಯು ನಿಜವಾದ ಬಳಕೆದಾರ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸಲಿ. ನೀವು ಮೌಲ್ಯೀಕರಿಸುವ ಸ್ವೀಕಾರ ಮಾನದಂಡಗಳನ್ನು ಪ್ರತಿ ಪರೀಕ್ಷೆಯ ಆರಂಭದಲ್ಲಿ ಕಾಮೆಂಟ್ ಮಾಡಿ.
2) ದುರ್ಬಲತೆ ನಿಯಂತ್ರಣ:
ದುರ್ಬಲತೆಗಾಗಿ ಈ ಕೆಳಗಿನ UI ಪರೀಕ್ಷೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ:- ಅಸ್ಥಿರ ಆಯ್ಕೆ ಇದೆಯೇ (ಉದ್ದ
3) ಪುಟದ ವಸ್ತುವಿಗೆ ಪರಿವರ್ತನೆ:
ಕೆಳಗಿನ ಸರಳ ಪರೀಕ್ಷಾ ಕೋಡ್ ಅನ್ನು ಪೇಜ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾದರಿ ರಚನೆಯಾಗಿ ಪರಿವರ್ತಿಸಿ. ಆಯ್ಕೆಗಳು ಮತ್ತು ಕ್ರಿಯೆಗಳನ್ನು ಪುಟ ತರಗತಿಗಳಿಗೆ ಸರಿಸಿ; ಪರೀಕ್ಷಾ ಫೈಲ್ ಸನ್ನಿವೇಶದ ಹರಿವನ್ನು ಮಾತ್ರ ಓದಲಿ. [ಉಪಕರಣ/ಭಾಷೆ]. ಕೋಡ್: [ಅಂಟಿಸಿ ಕೋಡ್]
4) ಹುಸಿ ಪರಿವರ್ತನೆ ಪುರಾವೆ:
ಈ UI ಪರೀಕ್ಷೆಯು ನಿಜವಾಗಿ ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಸಾಬೀತುಪಡಿಸಿ: ಈ ಪರೀಕ್ಷೆಯನ್ನು ಕೆಂಪು ಬಣ್ಣಕ್ಕೆ ತಿರುಗಿಸುವ ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್ಗೆ ನಾನು ಯಾವ ಒಂದೇ ಬದಲಾವಣೆಯನ್ನು ಮಾಡುತ್ತೇನೆ? ಪರೀಕ್ಷೆಯನ್ನು ಮುರಿಯುವ ಬದಲಾವಣೆಯನ್ನು ನೀವು ಕಂಡುಹಿಡಿಯಲಾಗದಿದ್ದರೆ, ಪರೀಕ್ಷೆಯು ಅಸಮರ್ಪಕವಾಗಿರುತ್ತದೆ; ತಪ್ಪಿದ ಸಮರ್ಥನೆಗಳನ್ನು ಸೇರಿಸಿ.ಪರೀಕ್ಷೆ: [ಪರೀಕ್ಷೆಯನ್ನು ಅಂಟಿಸಿ]
ಮೂರು ಸಣ್ಣ ಪ್ರಕರಣಗಳು
ಪ್ರಕರಣ 1 - ದುರ್ಬಲವಾದ ಆಯ್ಕೆಯಿಂದ ವಿಮೋಚನೆ. 40 ಪರೀಕ್ಷೆಗಳಲ್ಲಿ ಒಂದು ತಂಡವು AI ಯೊಂದಿಗೆ ತಯಾರಿಸಲ್ಪಟ್ಟಿದೆ, 70% ಇಂಟರ್ಫೇಸ್ ನವೀಕರಣದ ನಂತರ ಮುರಿದುಹೋಗಿದೆ; ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ನಿಜವಾದ ದೋಷಗಳಾಗಿರಲಿಲ್ಲ, ಅವೆಲ್ಲವೂ ದುರ್ಬಲವಾದ XPath ಸೆಲೆಕ್ಟರ್ಗಳಾಗಿದ್ದವು. ತಂಡವು "ದುರ್ಬಲತೆ ತಪಾಸಣೆ" ಟೆಂಪ್ಲೇಟ್ನೊಂದಿಗೆ ಪರೀಕ್ಷೆಗಳನ್ನು ಡೇಟಾ-ಟೆಸ್ಟಿಡ್ ಬೇಸ್ ಆಗಿ ಪರಿವರ್ತಿಸಿತು. ಮುಂದಿನ ಮೂರು ಇಂಟರ್ಫೇಸ್ ನವೀಕರಣಗಳಲ್ಲಿ, ತಪ್ಪು ವಿರಾಮಗಳ ಸಂಖ್ಯೆಯು ಶೂನ್ಯಕ್ಕೆ ಇಳಿಯಿತು; ನಿರ್ವಹಣೆ ಸಮಯವು ವಾರಕ್ಕೆ 6 ಗಂಟೆಗಳಿಂದ 30 ನಿಮಿಷಗಳಿಗೆ ಕಡಿಮೆಯಾಗಿದೆ.
ಪ್ರಕರಣ 2 - ನಕಲಿ-ಪಾಸಿಂಗ್ UI ಪರೀಕ್ಷೆ. AI "ಕಾರ್ಟ್ಗೆ ಸೇರಿಸು" ಪರೀಕ್ಷೆಯನ್ನು ತಯಾರಿಸಿತು; ಪರೀಕ್ಷೆಯು ಹಸಿರು ಬಣ್ಣದ್ದಾಗಿತ್ತು. "ಫೇಕ್-ಪ್ರೂಫ್-ಆಫ್-ಪಾಸೇಜ್" ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರನ್ ಮಾಡಿದಾಗ, ಪರೀಕ್ಷೆಯು ಬಟನ್ ಕ್ಲಿಕ್ ಮತ್ತು ಪುಟದ ಶೀರ್ಷಿಕೆಯನ್ನು ಮಾತ್ರ ಪರಿಶೀಲಿಸಲು ಕಾಣಿಸಿಕೊಂಡಿತು, ಕಾರ್ಟ್ ಕೌಂಟರ್ ಹೆಚ್ಚಾಗಿದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ಎಂದಿಗೂ ಪರಿಶೀಲಿಸುವುದಿಲ್ಲ. ಗಾಡಿ ತರ್ಕ ಸಂಪೂರ್ಣ ಮುರಿದರೂ ಪರೀಕ್ಷೆ ಪಾಸಾಯಿತು. ನಿಜವಾದ ಸಮರ್ಥನೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಕಾರ್ಟ್ ಬ್ಯಾಡ್ಜ್ "1").
ಪ್ರಕರಣ 3 - ಕುರುಡು ಕಾಯುವ ಬಲೆ. AI ನಿರ್ಮಿಸಿದ ಸೆಲೆನಿಯಮ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ, ಪ್ರತಿ ಹಂತದ ನಂತರ ನಿದ್ರೆ (2) ಇತ್ತು; 60 ಪರೀಕ್ಷೆಗಳು 14 ನಿಮಿಷಗಳನ್ನು ತೆಗೆದುಕೊಂಡವು ಮತ್ತು ಇನ್ನೂ ಕೆಲವೊಮ್ಮೆ ಮುರಿದುಹೋಗಿವೆ. ತೆರೆದ ಕಾಯುವಿಕೆಗೆ ಬದಲಾಯಿಸಿದ ನಂತರ (ಅಂಶವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಲು ನಿರೀಕ್ಷಿಸಿ) ಸಮಯವು 5 ನಿಮಿಷಗಳವರೆಗೆ ಕಡಿಮೆಯಾಯಿತು ಮತ್ತು ಸುಲಭವಾಗಿ ಕಣ್ಮರೆಯಾಯಿತು. ಕುರುಡು ಕಾಯುವಿಕೆ ನಿಧಾನ ಮತ್ತು ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲ.
ಸಾಮಾನ್ಯ ತಪ್ಪುಗಳು
- ದುರ್ಬಲ ಆಯ್ಕೆದಾರರಿಗೆ ಒಪ್ಪಿಗೆ. AI ನಿಂದ ರಚಿಸಲಾದ ದೀರ್ಘ XPaths ಅನ್ನು ಬಳಸುವುದು; ಮೊದಲ ಇಂಟರ್ಫೇಸ್ ಬದಲಾವಣೆಯಲ್ಲಿ ಪರೀಕ್ಷೆಗಳು ಕ್ರ್ಯಾಶ್ ಆಗುತ್ತವೆ.
- ಕುರುಡು `ನಿದ್ರೆ~ ಬಿಡುವುದು. ನಿಗದಿತ ಕಾಯುವಿಕೆಯೊಂದಿಗೆ ಸಮಯವನ್ನು "ಪರಿಹರಿಸುವುದು"; ನಿಧಾನ ಮತ್ತು ಅನಿರ್ದಿಷ್ಟ ಎರಡೂ.
- ಕ್ಷುಲ್ಲಕ ಪ್ರತಿಪಾದನೆ. ಪುಟವು ಲೋಡ್ ಆಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ; ನಿಜವಾದ ಬಳಕೆದಾರ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸುತ್ತಿಲ್ಲ (ನಕಲಿ ಪಾಸ್).
- POM ಇಲ್ಲದೆ ಬೆಳೆಯಿರಿ. ಪ್ರತಿ ಪರೀಕ್ಷೆಗೆ ಆಯ್ಕೆಗಾರರನ್ನು ವಿತರಿಸಿ; ಇಂಟರ್ಫೇಸ್ ಬದಲಾದಾಗ ಹಸ್ತಚಾಲಿತವಾಗಿ ಡಜನ್ಗಟ್ಟಲೆ ಫೈಲ್ಗಳನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತಿದೆ.
- ಉಪಕರಣವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತಿಲ್ಲ. ನಿಮಗೆ ಯಾವ ಸಾಧನ/ಭಾಷೆ ಬೇಕು ಎಂದು AI ಗೆ ಹೇಳುತ್ತಿಲ್ಲ; ಗೊಂದಲಮಯ, ಕೆಲಸ ಮಾಡದ ಕೋಡ್ ಪಡೆಯುತ್ತಿದೆ.
- ನೀವು ರಚಿಸಿದ ಕೋಡ್ ಮತ್ತು ಪಾಸ್ ಅನ್ನು ರನ್ ಮಾಡಿದಾಗ ನಂಬುವುದು. ಕೋಡ್ ಅನ್ನು ಮುರಿಯುವ ಮೂಲಕ ಪರೀಕ್ಷಿಸುವುದಿಲ್ಲ.
ಸಾರಾಂಶದಲ್ಲಿ
UI ಪರೀಕ್ಷಾ ಯಾಂತ್ರೀಕೃತಗೊಂಡವು ಪ್ರೋಗ್ರಾಂನೊಂದಿಗೆ ನಿಜವಾದ ಬ್ರೌಸರ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡುವ ಮೂಲಕ ಬಳಕೆದಾರರ ನಡವಳಿಕೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. AI ಈ ಕೋಡ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ಉತ್ಪಾದಿಸುತ್ತದೆ, ಆದರೆ ಎರಡು ದೊಡ್ಡ ಅಪಾಯಗಳಿವೆ: ದುರ್ಬಲ ಪರೀಕ್ಷೆಗಳು (ಕೆಟ್ಟ ಆಯ್ಕೆ, ಕುರುಡು ನಿರೀಕ್ಷೆ) ಮತ್ತು ನಕಲಿ-ಪಾಸಿಂಗ್ ಪರೀಕ್ಷೆಗಳು (ಅಪೂರ್ಣ/ಕ್ಷುಲ್ಲಕ ಸಮರ್ಥನೆ). ಘನ UI ಪರೀಕ್ಷೆಯ ಮೂರು ಸ್ತಂಭಗಳೆಂದರೆ ಕಮಿಟ್ ಸೆಲೆಕ್ಟರ್ (ಡೇಟಾ-ಟೆಸ್ಟಿಡ್), ಸ್ಪಷ್ಟವಾದ ನಿರೀಕ್ಷೆ, ಮತ್ತು ನಿಜವಾದ ಬಳಕೆದಾರ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಎಂದು ಪ್ರತಿಪಾದಿಸುತ್ತದೆ. ಪೇಜ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾಡೆಲ್ನಲ್ಲಿ ಪರೀಕ್ಷೆಗಳನ್ನು ರಚಿಸುವುದರಿಂದ ನಿರ್ವಹಣೆಯನ್ನು ಆಮೂಲಾಗ್ರವಾಗಿ ಸರಳಗೊಳಿಸುತ್ತದೆ. "ಯಾವ ಬದಲಾವಣೆಯು ಇದನ್ನು ಮುರಿಯುತ್ತದೆ?" ಎಂಬ ಪ್ರಶ್ನೆಯೊಂದಿಗೆ ಪ್ರತಿ ರಚಿಸಲಾದ ಪರೀಕ್ಷೆಯನ್ನು ಪರೀಕ್ಷಿಸಿ
ಅಪ್ಲಿಕೇಶನ್ ಕಾರ್ಯ
ನಿಮ್ಮ ಸ್ವಂತ ಯೋಜನೆಯಿಂದ ಬಳಕೆದಾರರ ಹರಿವನ್ನು ಆಯ್ಕೆಮಾಡಿ (ಉದಾ. ಲಾಗಿನ್ ಅಥವಾ ಹುಡುಕಾಟ). AI ಅನ್ನು "ದೃಢವಾದ UI ಪರೀಕ್ಷಾ ಉತ್ಪಾದನೆ" ಟೆಂಪ್ಲೇಟ್ನೊಂದಿಗೆ ಪರೀಕ್ಷೆಗಳನ್ನು ಬರೆಯಿರಿ. ನಂತರ: (1) ಸೆಲೆಕ್ಟರ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಸರಿಪಡಿಸಿ ಮತ್ತು "ದುರ್ಬಲತೆಯ ಪರಿಶೀಲನೆ" ಯೊಂದಿಗೆ ಕಾಯುತ್ತದೆ, (2) ಪ್ರತಿ ಪರೀಕ್ಷೆಯು "ಹುಸಿ-ಪಾಸ್ ಪುರಾವೆ" ಯೊಂದಿಗೆ ನಿಜವಾಗಿ ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸಿ, (3) ಕೋಡ್ ಅನ್ನು ಮುರಿಯಿರಿ ಮತ್ತು ಪರೀಕ್ಷೆಯು ಕೆಂಪು ಬಣ್ಣಕ್ಕೆ ತಿರುಗುವುದನ್ನು ಗಮನಿಸಿ. ತಯಾರಿಸಿದ ಮತ್ತು ಸರಿಪಡಿಸಿದ ಪರೀಕ್ಷೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ವರದಿ ಮಾಡಿ ಮತ್ತು ನೀವು ಕಂಡುಕೊಂಡ ದೋಷಗಳು ಮತ್ತು ಹುಸಿ-ಪಾಸ್ಗಳ ಸಂಖ್ಯೆಯನ್ನು ವರದಿ ಮಾಡಿ.
ಪರಿಶೀಲನಾಪಟ್ಟಿ
- [ ] ನಾನು AI ಗೆ ಉಪಕರಣ, ಭಾಷೆ, ಆಯ್ಕೆ ನೀತಿ ಮತ್ತು ಆರ್ಕಿಟೆಕ್ಚರ್ (POM) ಅನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನೀಡಿದ್ದೇನೆ.
- [ ] ಸೆಲೆಕ್ಟರ್ಗಳು ಡೇಟಾ-ಟೆಸ್ಟಿಡ್ ಎಂದು ನಾನು ಪರಿಶೀಲಿಸಿದ್ದೇನೆ.
- [ ] ನಾನು ಕುರುಡು ನಿದ್ರೆಯ ಬದಲಿಗೆ ಸ್ಪಷ್ಟ/ಸ್ವಯಂಚಾಲಿತ ಕಾಯುವಿಕೆಯನ್ನು ಬಳಸುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಂಡಿದ್ದೇನೆ.
- [ ] ಪ್ರತಿ ಸಮರ್ಥನೆಯು ನಿಜವಾದ ಬಳಕೆದಾರ ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ ಎಂದು ನಾನು ಪರಿಶೀಲಿಸಿದ್ದೇನೆ.
- [ ] ನಾನು ಕೋಡ್ ಅನ್ನು ಮುರಿಯುವ ಮೂಲಕ ಪ್ರತಿ ಪರೀಕ್ಷೆಯನ್ನು ಪರೀಕ್ಷಿಸಿದೆ; ಅದು ಕೆಂಪು ಬಣ್ಣಕ್ಕೆ ತಿರುಗುವುದನ್ನು ನಾನು ನೋಡಿದೆ.
- [ ] ನಾನು ಪೇಜ್ ಆಬ್ಜೆಕ್ಟ್ ಮಾದರಿ ರಚನೆಯಲ್ಲಿ ಪರೀಕ್ಷೆಗಳನ್ನು ಸಂಗ್ರಹಿಸಿದೆ.