Random testing
ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯು ಬ್ಲ್ಯಾಕ್-ಬಾಕ್ಸ್ ಸಾಫ್ಟ್ವೇರ್ ಪರೀಕ್ಷಾ ತಂತ್ರವಾಗಿದ್ದು, ಅಲ್ಲಿ ಯಾದೃಚ್ಛಿಕ, ಸ್ವತಂತ್ರ ಒಳಹರಿವುಗಳನ್ನು ಉತ್ಪಾದಿಸುವ ಮೂಲಕ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತದೆ. ಪರೀಕ್ಷೆಯ ಫಲಿತಾಂಶವು ಉತ್ತೀರ್ಣವಾಗಿದೆ ಅಥವಾ ವಿಫಲವಾಗಿದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಲು ಔಟ್ಪುಟ್ನ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಫ್ಟ್ವೇರ್ ವಿಶೇಷಣಗಳಿಗೆ ಹೋಲಿಸಲಾಗುತ್ತದೆ. ನಿರ್ದಿಷ್ಟತೆಗಳ ಅನುಪಸ್ಥಿತಿಯ ಸಂದರ್ಭದಲ್ಲಿ ಭಾಷೆಯ ವಿನಾಯಿತಿಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಅಂದರೆ ಪರೀಕ್ಷಾ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ಒಂದು ವಿನಾಯಿತಿ ಉದ್ಭವಿಸಿದರೆ ಅದು ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ದೋಷವಿದೆ ಎಂದರ್ಥ, ಪಕ್ಷಪಾತ ಪರೀಕ್ಷೆಯನ್ನು ತಪ್ಪಿಸುವ ಮಾರ್ಗವಾಗಿಯೂ ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಯಂತ್ರಾಂಶಕ್ಕಾಗಿ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯ ಇತಿಹಾಸವನ್ನು ಮೊದಲ ಬಾರಿಗೆ 1971 ರಲ್ಲಿ ಮೆಲ್ವಿನ್ ಬ್ರೂಯರ್ ಅವರು ಪರೀಕ್ಷಿಸಿದರು ಮತ್ತು ಅದರ ಪರಿಣಾಮಕಾರಿತ್ವವನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ಆರಂಭಿಕ ಪ್ರಯತ್ನವನ್ನು 1975 ರಲ್ಲಿ ಪ್ರತಿಮಾ ಮತ್ತು ವಿಶ್ವಾನಿ ಅಗ್ರವಾಲ್ ಅವರು ಮಾಡಿದರು. ತಂತ್ರಾಂಶದಲ್ಲಿ, ಡುರಾನ್ ಮತ್ತು ಎನ್ಟಾಫೋಸ್ 1984ರಲ್ಲಿ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯನ್ನು ಪರೀಕ್ಷಿಸಿದ್ದರು. ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಗೆ ಸೈದ್ಧಾಂತಿಕ ಆಧಾರವಾಗಿ ಊಹೆಯ ಪರೀಕ್ಷೆಯ ಬಳಕೆಯನ್ನು ಹೌಡೆನ್ ಅವರು ಕ್ರಿಯಾತ್ಮಕ ಪರೀಕ್ಷೆ ಮತ್ತು ವಿಶ್ಲೇಷಣೆಯಲ್ಲಿ ವಿವರಿಸಿದ್ದಾರೆ. 1/n ಗಿಂತ ಹೆಚ್ಚಿಲ್ಲದ ವೈಫಲ್ಯದ ದರದಲ್ಲಿ ಕನಿಷ್ಠ 1-1/n ವಿಶ್ವಾಸವನ್ನು ಹೊಂದಲು ಅಗತ್ಯವಿರುವ ಪರೀಕ್ಷೆಗಳ ಸಂಖ್ಯೆಯನ್ನು ಅಂದಾಜು ಮಾಡಲು ಸರಳ ಸೂತ್ರದ ಅಭಿವೃದ್ಧಿಯನ್ನು ಸಹ ಈ ಪುಸ್ತಕವು ಒಳಗೊಂಡಿದೆ. ಸೂತ್ರವು ಲೋವರ್ ಬೌಂಡ್ ನ್ಲೋಗ್ನ್ ಆಗಿದೆ, ಇದು ಸಾಧಾರಣ ವೈಫಲ್ಯದ ದರದಲ್ಲಿ ಮಿತವಾದ ವಿಶ್ವಾಸವನ್ನು ಹೊಂದಲು ಅಗತ್ಯವಿರುವ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ವೈಫಲ್ಯ-ಮುಕ್ತ ಪರೀಕ್ಷೆಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಅವಲೋಕನ ಈ ಕೆಳಗಿನ ಸಿ + + ಕಾರ್ಯವನ್ನು ಪರಿಗಣಿಸಿಃ ಇಂಟ್ ಮೈಆಬ್ಸ್ (ಇಂಟ್ x) {ಇಫ್ (x> 0) {ರಿಟರ್ನ್ x;} ಇಲ್ಲದಿದ್ದರೆ {ರಿಟರ್ನ್ x;// ಬಗ್ಃ '-x' ಆಗಿರಬೇಕು} ಈಗ ಈ ಕಾರ್ಯಕ್ಕಾಗಿ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಗಳು {123,36,-35,48,0} ಆಗಿರಬಹುದು. '-35' ಮೌಲ್ಯವು ಮಾತ್ರ ದೋಷವನ್ನು ಪ್ರಚೋದಿಸುತ್ತದೆ. ಫಲಿತಾಂಶವನ್ನು ಪರಿಶೀಲಿಸಲು ಯಾವುದೇ ಉಲ್ಲೇಖ ಅನುಷ್ಠಾನವಿಲ್ಲದಿದ್ದರೆ, ದೋಷವು ಇನ್ನೂ ಗಮನಕ್ಕೆ ಬರದೇ ಹೋಗಬಹುದು. ಆದಾಗ್ಯೂ, ಫಲಿತಾಂಶಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಒಂದು ಪ್ರತಿಪಾದನೆಯನ್ನು ಸೇರಿಸಬಹುದು, ಉದಾಹರಣೆಗೆಃ ಶೂನ್ಯ testAbs (ಪೂರ್ಣಾಂಕ n) {ಫಾರ್ (ಪೂರ್ಣಾಂಕ i = 0; i <n; i + +) {ಪೂರ್ಣಾಂಕ x = ಗೆಟ್ರ್ಯಾಂಡಮ್ಇನ್ಪುಟ್ (); ಪೂರ್ಣಾಂಕ ಫಲಿತಾಂಶ = ಮೈಎಬ್ಸ್ (x); ಸಮರ್ಥನೆ (ಫಲಿತಾಂಶ> = 0);} ಉಲ್ಲೇಖ ಅನುಷ್ಠಾನವು ಕೆಲವೊಮ್ಮೆ ಲಭ್ಯವಿರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ. ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ಸರಳ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ರೀತಿಯಲ್ಲಿ ಅನುಷ್ಠಾನಗೊಳಿಸುವಾಗ. ಉದಾಹರಣೆಗೆ, ಸ್ಕೊನ್ಹೇಜ್-ಸ್ಟ್ರಾಸ್ಸೆನ್ ಅಲ್ಗಾರಿದಮ್ನ ಅನುಷ್ಠಾನವನ್ನು ಪರೀಕ್ಷಿಸಲು, ಪೂರ್ಣಾಂಕಗಳ ಮೇಲಿನ ಪ್ರಮಾಣಿತ "*" ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬಳಸಬಹುದುಃ ಪೂರ್ಣಾಂಕಗಳ ಮೇಲಿನ ಪ್ರಮಾಣಿತ "*" ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬಳಸಬಹುದಾಗಿದೆಃ ಪೂರ್ಣಾಂಕಗಳ ಮೇಲಿನ ಪ್ರಮಾಣಿತ "*" ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬಳಸಬಹುದಾಗಿದೆಃ ಪೂರ್ಣಾಂಕಗಳ ಮೇಲಿನ ಪ್ರಮಾಣಿತ "*" ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬಳಸಬಹುದಾಗಿದೆಃ ಪೂರ್ಣಾಂಕಗಳ ಮೇಲಿನ ಪ್ರಮಾಣಿತ "*" ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬಳಸಬಹುದಾದರೆ (ಸರಳ ಯಾದೃಚ್ಛಿಕ ಜನರೇಟರ್ ಅನ್ನು ಬಳಸಬಹುದಾದ), ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಭಾಷೆಗಳನ್ನು ಗುರಿಯಾಗಿಸುವ ಉಪಕರಣಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಅನ್ವೇಷಿಸುತ್ತವೆ. ಅಂತಹ ವಿಧಾನಗಳು ಯಾದೃಚ್ಛಿಕವಾಗಿ ರಚಿಸಲಾದ ವಸ್ತುಗಳ ಸಂಗ್ರಹವನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ ಮತ್ತು ರಚಿಸಲಾದ ವಸ್ತುವನ್ನು ಮರುಬಳಕೆ ಮಾಡಲು ಅಥವಾ ಹೊಸದನ್ನು ರಚಿಸಲು ಸಂಭವನೀಯತೆಯನ್ನು ಬಳಸುತ್ತವೆ. ಯಾದೃಚ್ಛಿಕತೆಯ ಬಗ್ಗೆ ಡಿ. ಹ್ಯಾಮ್ಲೆಟ್ ಅವರ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯ ಮೇಲಿನ ಮೂಲ ಪ್ರಬಂಧದ ಪ್ರಕಾರ [.] "ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆ" ಯ ತಾಂತ್ರಿಕ, ಗಣಿತದ ಅರ್ಥವು ಪರೀಕ್ಷಾ ದತ್ತಾಂಶದ ಆಯ್ಕೆಯಲ್ಲಿ "ವ್ಯವಸ್ಥೆಯ" ಸ್ಪಷ್ಟ ಕೊರತೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಇದರಿಂದಾಗಿ ವಿವಿಧ ಪರೀಕ್ಷೆಗಳ ನಡುವೆ ಯಾವುದೇ ಪರಸ್ಪರ ಸಂಬಂಧವಿಲ್ಲ. ಸಾಮರ್ಥ್ಯಗಳು ಮತ್ತು ದೌರ್ಬಲ್ಯಗಳು ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯನ್ನು ಈ ಕೆಳಗಿನ ಸಾಮರ್ಥ್ಯಗಳಿಗಾಗಿ ಪ್ರಶಂಸಿಸಲಾಗಿದೆಃ ಇದನ್ನು ಬಳಸುವುದು ಅಗ್ಗವಾಗಿದೆಃ ಇದು ಪರೀಕ್ಷೆಯಲ್ಲಿರುವ ಕಾರ್ಯಕ್ರಮದ ಬಗ್ಗೆ ಬುದ್ಧಿವಂತರಾಗಿರಬೇಕಾಗಿಲ್ಲ. ಇದು ಯಾವುದೇ ಪಕ್ಷಪಾತವನ್ನು ಹೊಂದಿಲ್ಲಃ ಹಸ್ತಚಾಲಿತ ಪರೀಕ್ಷೆಯಂತಲ್ಲದೆ, ಇದು ದೋಷಗಳನ್ನು ಕಡೆಗಣಿಸುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಕೆಲವು ಕೋಡ್ಗಳಲ್ಲಿ ತಪ್ಪಾದ ನಂಬಿಕೆಯಿದೆ. ದೋಷ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಹುಡುಕುವುದು ತ್ವರಿತವಾಗಿದೆಃ ಪರೀಕ್ಷಾ ಅಧಿವೇಶನವನ್ನು ನಿರ್ವಹಿಸಲು ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಒಂದೆರಡು ನಿಮಿಷಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ತಂತ್ರಾಂಶವನ್ನು ಸರಿಯಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆಃ ಅದು ನಿಜವಾದ ದೋಷಗಳನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತದೆ. ಈ ಕೆಳಗಿನ ದೌರ್ಬಲ್ಯಗಳನ್ನು ವಿವರಿಸಲಾಗಿದೆಃ ಇದು ಮೂಲಭೂತ ದೋಷಗಳನ್ನು ಮಾತ್ರ ಕಂಡುಕೊಳ್ಳುತ್ತದೆ (ಉದಾಹರಣೆಗೆ. ಶೂನ್ಯ ಪಾಯಿಂಟರ್ ಡೀರೆಫೆರೆನ್ಸಿಂಗ್). ಇದು ನಿರ್ದಿಷ್ಟತೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟತೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ನಿಖರವಾಗಿರದಷ್ಟು ನಿಖರವಾಗಿದೆ. ಇದು ದೋಷಗಳನ್ನು ಕಂಡುಹಿಡಿಯುವ ಇತರ ತಂತ್ರಗಳೊಂದಿಗೆ ಕಳಪೆಯಾಗಿ ಹೋಲಿಸುತ್ತದೆ (ಉದಾಹರಣೆಗೆ. ಸ್ಥಿರ ಪ್ರೋಗ್ರಾಂ ವಿಶ್ಲೇಷಣೆ). ಪ್ರತಿ ಟೆಸ್ಟ್ ರನ್ ನಲ್ಲಿ ಯಾದೃಚ್ಛಿಕವಾಗಿ ವಿಭಿನ್ನ ಇನ್ಪುಟ್ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಿದರೆ, ಇದು ನಿರಂತರ ಏಕೀಕರಣಕ್ಕೆ ಸಮಸ್ಯೆಗಳನ್ನು ಸೃಷ್ಟಿಸಬಹುದು ಏಕೆಂದರೆ ಅದೇ ಪರೀಕ್ಷೆಗಳು ಯಾದೃಚ್ಛಿಕವಾಗಿ ಉತ್ತೀರ್ಣವಾಗುತ್ತವೆ ಅಥವಾ ವಿಫಲವಾಗುತ್ತವೆ. ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಅವಲಂಬಿಸುವುದಕ್ಕಿಂತ ಕೈಯಿಂದ ನಿರ್ಮಿಸಲಾದ ಪರೀಕ್ಷೆಗಳೊಂದಿಗೆ ಎಲ್ಲಾ ಸಂಬಂಧಿತ ಪ್ರಕರಣಗಳನ್ನು ವೈಟ್-ಬಾಕ್ಸ್ ಶೈಲಿಯಲ್ಲಿ ಚಿಂತನಶೀಲವಾಗಿ ಒಳಗೊಳ್ಳುವುದು ಉತ್ತಮ ಎಂದು ಕೆಲವರು ವಾದಿಸುತ್ತಾರೆ. ಸಾಧಾರಣ ವೈಫಲ್ಯದ ಪ್ರಮಾಣದಲ್ಲಿ ಸಾಧಾರಣ ಮಟ್ಟದ ವಿಶ್ವಾಸಕ್ಕಾಗಿ ಇದಕ್ಕೆ ಬಹಳ ದೊಡ್ಡ ಸಂಖ್ಯೆಯ ಪರೀಕ್ಷೆಗಳ ಅಗತ್ಯವಿರಬಹುದು. ಉದಾಹರಣೆಗೆ, ವೈಫಲ್ಯದ ಸಂಭವನೀಯತೆಯು 1/100 ಗಿಂತ ಕಡಿಮೆಯಿದೆ ಎಂಬ ಕನಿಷ್ಠ 99 ಪ್ರತಿಶತ ವಿಶ್ವಾಸವನ್ನು ಹೊಂದಲು 459 ವೈಫಲ್ಯ-ಮುಕ್ತ ಪರೀಕ್ಷೆಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ. ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯ ವಿಧಗಳು ಇನ್ಪುಟ್ ಯಾದೃಚ್ಛಿಕ ಇನ್ಪುಟ್ ಅನುಕ್ರಮ ಉತ್ಪಾದನೆಗೆ ಸಂಬಂಧಿಸಿದಂತೆ (ಅಂದರೆ. ವಿಧಾನ ಕರೆಗಳ ಅನುಕ್ರಮ) ದತ್ತಾಂಶ ಒಳಹರಿವಿನ ಯಾದೃಚ್ಛಿಕ ಅನುಕ್ರಮ (ಕೆಲವೊಮ್ಮೆ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ)-ಉದಾ. ವಿಧಾನದ ಯಾದೃಚ್ಛಿಕ ಅನುಕ್ರಮವು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ದತ್ತಸಂಚಯ ಗೈಡೆಡ್ ವರ್ಸಸ್ ಅನ್ಗೈಡೆಡ್ ಅನ್ಡೈರೆಕ್ಟೆಡ್ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷಾ ಉತ್ಪಾದನೆಯಿಂದ ಯಾದೃಚ್ಛಿಕ ದತ್ತಾಂಶ ಆಯ್ಕೆಯನ್ನು ಕರೆಯುತ್ತದೆ-ಅದರ ಹುಡುಕಾಟ ನಿರ್ದೇಶಿತ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷಾ ಉತ್ಪಾದನೆಗೆ ಮಾರ್ಗದರ್ಶನ ನೀಡಲು ಯಾವುದೇ ಹ್ಯೂರಿಸ್ಟಿಕ್ಸ್ ಇಲ್ಲ-ಉದಾ. "ಪ್ರತಿಕ್ರಿಯೆ-ನಿರ್ದೇಶಿತ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷಾ ಉತ್ಪಾದನೆ" ಮತ್ತು "ಹೊಂದಾಣಿಕೆಯ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆ" ಅನುಷ್ಠಾನಗಳು ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕೆಲವು ಸಾಧನಗಳುಃ ಕ್ವಿಕ್ ಚೆಕ್-ಒಂದು ಪ್ರಸಿದ್ಧ ಪರೀಕ್ಷಾ ಸಾಧನ, ಇದನ್ನು ಮೂಲತಃ ಹ್ಯಾಸ್ಕೆಲ್ಗಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ ಆದರೆ ಇತರ ಅನೇಕ ಭಾಷೆಗಳಿಗೆ ಪೋರ್ಟ್ ಮಾಡಲಾಗಿದೆ, ಇದು ಮಾದರಿಯ ಆಧಾರದ ಮೇಲೆ API ಕರೆಗಳ ಯಾದೃಚ್ಛಿಕ ಅನುಕ್ರಮಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಓಟದ ನಂತರ ನಿಜವಾಗಬೇಕಾದ ವ್ಯವಸ್ಥೆಯ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ರಾಂಡೂಪ್-ಪರೀಕ್ಷೆಯಲ್ಲಿರುವ ವರ್ಗಗಳಿಗೆ ವಿಧಾನಗಳು ಮತ್ತು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ ಇನ್ವೊಕೇಷನ್ಗಳ ಅನುಕ್ರಮಗಳನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ಮತ್ತು ಈ ಸಿಮ್ಯುಲಂಟ್ನಿಂದ ಜುನಿಟ್ ಪರೀಕ್ಷೆಗಳನ್ನು ರಚಿಸುತ್ತದೆ-ಇದು ವಿವಿಧ ಏಜೆಂಟ್ಗಳ ಸಿಮ್ಯುಲೇಶನ್ಗಳನ್ನು ನಡೆಸುವ ಕ್ಲೋಜರ್ ಸಾಧನವಾಗಿದೆ (ಉದಾಹರಣೆಗೆ. ವಿಭಿನ್ನ ನಡವಳಿಕೆಯ ಪ್ರೊಫೈಲ್ಗಳನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರು) ತಮ್ಮ ನಡವಳಿಕೆಯ ಸಂಖ್ಯಾಶಾಸ್ತ್ರೀಯ ಮಾದರಿಯ ಆಧಾರದ ಮೇಲೆ, ಎಲ್ಲಾ ಕ್ರಿಯೆಗಳನ್ನು ಮತ್ತು ಫಲಿತಾಂಶಗಳನ್ನು ನಂತರದ ಪರಿಶೋಧನೆ ಮತ್ತು ಪರಿಶೀಲನೆಗಾಗಿ ದತ್ತಸಂಚಯಕ್ಕೆ ದಾಖಲಿಸುತ್ತಾರೆ-ಆಟೋಟೆಸ್ಟ್-ನಾಮಸೂಚಕ ಸಂಶೋಧನಾ ಮೂಲಮಾದರಿಯ ಆಧಾರದ ಮೇಲೆ ಒಪ್ಪಂದಗಳೊಂದಿಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಐಫೆಲ್ ಕೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸುವ ಸಾಧನ. ಯಾರ್ಕ್ ಎಕ್ಸ್ಟೆನ್ಸಿಬಲ್ ಟೆಸ್ಟಿಂಗ್ ಇನ್ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ (ವೈಇಟಿಐ)-ವಿವಿಧ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳನ್ನು (ಜಾವಾ, ಜೆಎಂಎಲ್, ಕೋಫೋಜಾ,. ನೆಟ್, ಸಿ, ಕೆರ್ಮೆಟಾ) ಗುರಿಯಾಗಿಸುವ ಭಾಷೆಯ ಅಜ್ಞಾತ ಸಾಧನ. ಗ್ರಾಮ್ಟೆಸ್ಟ್-ಜಾವಾದಲ್ಲಿ ಬರೆಯಲಾದ ವ್ಯಾಕರಣ ಆಧಾರಿತ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷಾ ಸಾಧನವಾಗಿದ್ದು, ಇದು ಇನ್ಪುಟ್ ವ್ಯಾಕರಣಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಬಿಎನ್ಎಫ್ ಸಂಕೇತವನ್ನು ಬಳಸುತ್ತದೆ. ವಿಮರ್ಶಾತ್ಮಕ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯು ಆಚರಣೆಯಲ್ಲಿ ವಿಶೇಷ ಸ್ಥಾನವನ್ನು ಮಾತ್ರ ಹೊಂದಿದೆ, ಹೆಚ್ಚಾಗಿ ಪರಿಣಾಮಕಾರಿ ಒರಾಕಲ್ ವಿರಳವಾಗಿ ಲಭ್ಯವಿರುವುದರಿಂದ, ಆದರೆ ಕಾರ್ಯಾಚರಣೆಯ ಪ್ರೊಫೈಲ್ನಲ್ಲಿನ ತೊಂದರೆಗಳು ಮತ್ತು ಸೂಡೊರಾಂಡಮ್ ಇನ್ಪುಟ್ ಮೌಲ್ಯಗಳ ಉತ್ಪಾದನೆಯಿಂದಾಗಿ. ಪರೀಕ್ಷಾ ಒರಾಕಲ್ ಎಂಬುದು ಫಲಿತಾಂಶಗಳು ಕಾರ್ಯಕ್ರಮದ ನಿರ್ದಿಷ್ಟತೆಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತವೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸುವ ಸಾಧನವಾಗಿದೆ. ಆಪರೇಶನ್ ಪ್ರೊಫೈಲ್ ಎಂದರೆ ಪ್ರೋಗ್ರಾಂನ ಬಳಕೆಯ ಮಾದರಿಗಳ ಬಗ್ಗೆ ಜ್ಞಾನ ಮತ್ತು ಆದ್ದರಿಂದ ಯಾವ ಭಾಗಗಳು ಹೆಚ್ಚು ಮುಖ್ಯವಾಗಿವೆ. ಒಪ್ಪಂದಗಳನ್ನು ಹೊಂದಿರುವ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಮತ್ತು ವೇದಿಕೆಗಳಿಗೆ (ಉದಾ. ಐಫೆಲ್. . NET ಅಥವಾ ಜಾವಾದ ವಿವಿಧ ವಿಸ್ತರಣೆಗಳಾದ JML, CoFoJa.) ಒಪ್ಪಂದಗಳು ನೈಸರ್ಗಿಕ ಒರಾಕಲ್ಗಳಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ ಮತ್ತು ಈ ವಿಧಾನವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅನ್ವಯಿಸಲಾಗಿದೆ. ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೇಳುವುದಾದರೆ, ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯು ಹಸ್ತಚಾಲಿತ ತಪಾಸಣೆಗಳು ಅಥವಾ ಬಳಕೆದಾರರ ವರದಿಗಳಿಗಿಂತ (ವಿಭಿನ್ನವಾದರೂ) ಹೆಚ್ಚು ದೋಷಗಳನ್ನು ಕಂಡುಕೊಳ್ಳುತ್ತದೆ. ಫಜ್ ಪರೀಕ್ಷೆಯನ್ನು ಸಹ ನೋಡಿ-ಪರೀಕ್ಷಿಸಿದ ಪ್ರೋಗ್ರಾಂ ಲೇಜಿ ಸಿಸ್ಟೆಮ್ಯಾಟಿಕ್ ಯುನಿಟ್ testing#Systematic ಟೆಸ್ಟಿಂಗ್ಗೆ ಅಮಾನ್ಯವಾದ ಇನ್ಪುಟ್ ಅನ್ನು ಒದಗಿಸುವ ಒಂದು ರೀತಿಯ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆ-"ಎಲ್ಲಾ" ವಿಧಾನದ ಕರೆಗಳನ್ನು ಅನ್ವೇಷಿಸುವ ಒಂದು ವ್ಯವಸ್ಥಿತ ಮಾರ್ಗ, ಉದಾಹರಣೆಗೆ. ನಾಸಾದ ಜಾವಾ ಪಾತ್ ಫೈಂಡರ್ನಿಂದ (ಇದು ವಿವಿಧ ವಿಧಾನಗಳಿಂದ ರಾಜ್ಯದ ಜಾಗವನ್ನು ಸಮಂಜಸವಾದ ಗಾತ್ರಕ್ಕೆ ಸೀಮಿತಗೊಳಿಸುವ ಮೂಲಕ ಮಾದರಿ ತಪಾಸಣೆಯೊಂದಿಗೆ ಪರೀಕ್ಷೆಯನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ) ಸಿಸ್ಟಮ್ ವೆರಿಲಾಗ್ ಕಾರ್ನರ್ ಕೇಸ್ ಎಡ್ಜ್ ಕೇಸ್ ಕಾನ್ಕೊಲಿಕ್ ಪರೀಕ್ಷೆಯಲ್ಲಿ ನಿರ್ಬಂಧಿತ ಯಾದೃಚ್ಛಿಕ ಉತ್ಪಾದನೆ ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಆಂಡ್ರಿಯಾ ಅರ್ಕುರಿಯಿಂದ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆ. ಪೋರ್ಟ್ಲ್ಯಾಂಡ್ ಸ್ಟೇಟ್ ಯೂನಿವರ್ಸಿಟಿಯ ಪ್ರೊಫೆಸರ್ ಎಮೆರಿಟಸ್ ರಿಚರ್ಡ್ ಹ್ಯಾಮ್ಲೆಟ್ ಅವರಿಂದ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆ; ಕನ್ನಿಂಗ್ಹ್ಯಾಮ್ & ಕನ್ನಿಂಗ್ಹ್ಯಾಮ್, ಇಂಕ್. ನಲ್ಲಿ ಯಾದೃಚ್ಛಿಕ ಪರೀಕ್ಷೆಯ ಕಾಗದದ ಕೊನೆಯಲ್ಲಿ ಸಂಪನ್ಮೂಲಗಳ ಮೌಲ್ಯಯುತ ಪಟ್ಟಿ.