Specification by example
ಉದಾಹರಣೆಯ ಮೂಲಕ ವಿವರಣೆ (ಎಸ್. ಬಿ. ಇ.) ಎಂಬುದು ಅಮೂರ್ತ ಹೇಳಿಕೆಗಳ ಬದಲಿಗೆ ವಾಸ್ತವಿಕ ಉದಾಹರಣೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಗತ್ಯಗಳನ್ನು ಸೆರೆಹಿಡಿಯುವ ಮತ್ತು ವಿವರಿಸುವ ಆಧಾರದ ಮೇಲೆ ತಂತ್ರಾಂಶ ಉತ್ಪನ್ನಗಳಿಗೆ ಅಗತ್ಯತೆಗಳು ಮತ್ತು ವ್ಯವಹಾರ-ಆಧಾರಿತ ಕ್ರಿಯಾತ್ಮಕ ಪರೀಕ್ಷೆಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಒಂದು ಸಹಕಾರಿ ವಿಧಾನವಾಗಿದೆ. ಚುರುಕಾದ ತಂತ್ರಾಂಶ ಅಭಿವೃದ್ಧಿ ವಿಧಾನಗಳ ಸಂದರ್ಭದಲ್ಲಿ, ನಿರ್ದಿಷ್ಟ ನಡವಳಿಕೆ-ಚಾಲಿತ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಇದನ್ನು ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ. ಗಮನಾರ್ಹ ಡೊಮೇನ್ ಮತ್ತು ಸಾಂಸ್ಥಿಕ ಸಂಕೀರ್ಣತೆಯ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಯೋಜನೆಗಳ ಅಗತ್ಯತೆಗಳು ಮತ್ತು ಕ್ರಿಯಾತ್ಮಕ ಪರೀಕ್ಷೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಈ ವಿಧಾನವು ವಿಶೇಷವಾಗಿ ಯಶಸ್ವಿಯಾಗಿದೆ. ಉದಾಹರಣೆಗೆ ನಿರ್ದಿಷ್ಟತೆಯನ್ನು ಉದಾಹರಣೆ-ಚಾಲಿತ ಅಭಿವೃದ್ಧಿ, ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಅವಶ್ಯಕತೆಗಳು, ಸ್ವೀಕಾರ ಪರೀಕ್ಷೆ-ಚಾಲಿತ ಅಭಿವೃದ್ಧಿ (ಎಟಿಡಿಡಿ ಅಥವಾ ಎ-ಟಿಡಿಡಿ), ಚುರುಕಾದ ಸ್ವೀಕಾರ ಪರೀಕ್ಷೆ, ಟೆಸ್ಟ್-ಚಾಲಿತ ಅವಶ್ಯಕತೆಗಳು (ಟಿಡಿಆರ್) ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ. ಪ್ರಯೋಜನಗಳು ಅತ್ಯಂತ ಅಮೂರ್ತ ಅಥವಾ ಹೊಸ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಕಾಂಕ್ರೀಟ್ ಉದಾಹರಣೆಗಳಿಲ್ಲದೆ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಕಷ್ಟವಾಗಬಹುದು. ಉದಾಹರಣೆಯ ಮೂಲಕ ನಿರ್ದಿಷ್ಟಪಡಿಸುವಿಕೆಯು ನಿಖರವಾದ ತಿಳುವಳಿಕೆಯನ್ನು ನಿರ್ಮಿಸುವ ಉದ್ದೇಶವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಪ್ರತಿಕ್ರಿಯೆಯ ಲೂಪ್ಗಳನ್ನು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ಇದು ಕಡಿಮೆ ಪುನರ್ನಿರ್ಮಾಣ, ಹೆಚ್ಚಿನ ಉತ್ಪನ್ನದ ಗುಣಮಟ್ಟ, ಸಾಫ್ಟ್ವೇರ್ ಬದಲಾವಣೆಗಳಿಗೆ ವೇಗವಾಗಿ ತಿರುಗುವ ಸಮಯ ಮತ್ತು ಪರೀಕ್ಷಕರು, ವಿಶ್ಲೇಷಕರು ಮತ್ತು ಅಭಿವರ್ಧಕರಂತಹ ಸಾಫ್ಟ್ವೇರ್ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ವಿವಿಧ ಪಾತ್ರಗಳ ಚಟುವಟಿಕೆಗಳ ಉತ್ತಮ ಜೋಡಣೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಸತ್ಯದ ಏಕೈಕ ಮೂಲವಾಗಿ ಉದಾಹರಣೆಗಳು ಎಲ್ಲಾ ದೃಷ್ಟಿಕೋನಗಳಿಂದ ಅಗತ್ಯವಾದ ಬದಲಾವಣೆಗಳ ಬಗ್ಗೆ ಸತ್ಯದ ಒಂದೇ ಮೂಲವನ್ನು ರಚಿಸುವುದು ಉದಾಹರಣೆಯ ಮೂಲಕ ವಿವರಣೆಯ ಪ್ರಮುಖ ಅಂಶವಾಗಿದೆ. ವ್ಯಾಪಾರ ವಿಶ್ಲೇಷಕರು ತಮ್ಮ ಸ್ವಂತ ದಾಖಲೆಗಳ ಮೇಲೆ ಕೆಲಸ ಮಾಡುವಾಗ, ಸಾಫ್ಟ್ವೇರ್ ಡೆವಲಪರ್ಗಳು ತಮ್ಮದೇ ಆದ ದಾಖಲೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತಾರೆ ಮತ್ತು ಪರೀಕ್ಷಕರು ಪ್ರತ್ಯೇಕ ಕ್ರಿಯಾತ್ಮಕ ಪರೀಕ್ಷೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತಾರೆ, ಸತ್ಯದ ಆ ವಿಭಿನ್ನ ಆವೃತ್ತಿಗಳನ್ನು ನಿರಂತರವಾಗಿ ಸಂಘಟಿಸುವ ಮತ್ತು ಸಿಂಕ್ರೊನೈಸ್ ಮಾಡುವ ಅಗತ್ಯದಿಂದ ಸಾಫ್ಟ್ವೇರ್ ವಿತರಣಾ ಪರಿಣಾಮಕಾರಿತ್ವವು ಗಮನಾರ್ಹವಾಗಿ ಕಡಿಮೆಯಾಗುತ್ತದೆ. ಸಣ್ಣ ಪುನರಾವರ್ತಿತ ಚಕ್ರಗಳೊಂದಿಗೆ, ಅಂತಹ ಸಮನ್ವಯವು ವಾರಕ್ಕೊಮ್ಮೆ ಅಥವಾ ವಾರಕ್ಕೊಮ್ಮೆ ಅಗತ್ಯವಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಯ ಮೂಲಕ ವಿವರಣೆಯೊಂದಿಗೆ, ಪ್ರತಿಯೊಬ್ಬರ ತಿಳುವಳಿಕೆಯನ್ನು ಸೆರೆಹಿಡಿಯುವ ಸತ್ಯದ ಒಂದೇ ಮೂಲವನ್ನು ರಚಿಸುವಲ್ಲಿ ವಿವಿಧ ಪಾತ್ರಗಳು ಭಾಗವಹಿಸುತ್ತವೆ. ಸ್ಪಷ್ಟತೆ ಮತ್ತು ನಿಖರತೆಯನ್ನು ಒದಗಿಸಲು ಉದಾಹರಣೆಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಅದೇ ಮಾಹಿತಿಯನ್ನು ನಿರ್ದಿಷ್ಟತೆ ಮತ್ತು ವ್ಯವಹಾರ-ಆಧಾರಿತ ಕ್ರಿಯಾತ್ಮಕ ಪರೀಕ್ಷೆಯಾಗಿ ಬಳಸಬಹುದು. ಕ್ರಿಯಾತ್ಮಕ ಅಂತರಗಳ ಸ್ಪಷ್ಟೀಕರಣ, ಕಾಣೆಯಾದ ಅಥವಾ ಅಪೂರ್ಣವಾದ ಅವಶ್ಯಕತೆಗಳು ಅಥವಾ ಹೆಚ್ಚುವರಿ ಪರೀಕ್ಷೆಗಳಂತಹ ಅಭಿವೃದ್ಧಿ ಅಥವಾ ವಿತರಣೆಯ ಸಮಯದಲ್ಲಿ ಪತ್ತೆಯಾದ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿಯನ್ನು ಸತ್ಯದ ಈ ಏಕೈಕ ಮೂಲಕ್ಕೆ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಕಾರ್ಯಚಟುವಟಿಕೆಯ ಬಗ್ಗೆ ಸತ್ಯದ ಒಂದೇ ಒಂದು ಮೂಲವಿರುವುದರಿಂದ, ವಿತರಣಾ ಚಕ್ರದೊಳಗೆ ಜ್ಞಾನದ ಸಮನ್ವಯ, ಅನುವಾದ ಮತ್ತು ವ್ಯಾಖ್ಯಾನದ ಅಗತ್ಯವಿಲ್ಲ. ಅಗತ್ಯ ಬದಲಾವಣೆಗಳಿಗೆ ಅನ್ವಯಿಸಿದಾಗ, ಸಂಸ್ಕರಿಸಿದ ಉದಾಹರಣೆಗಳ ಗುಂಪನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಒಂದು ನಿರ್ದಿಷ್ಟತೆ ಮತ್ತು ಸಾಫ್ಟ್ವೇರ್ ಕಾರ್ಯವನ್ನು ಸ್ವೀಕರಿಸಲು ವ್ಯಾಪಾರ-ಆಧಾರಿತ ಪರೀಕ್ಷೆಯಾಗಿದೆ. ಬದಲಾವಣೆಯನ್ನು ಜಾರಿಗೆ ತಂದ ನಂತರ, ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ವಿವರಣೆಯು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕಾರ್ಯವನ್ನು ವಿವರಿಸುವ ದಾಖಲೆಯಾಗುತ್ತದೆ. ಅಂತಹ ದಾಖಲೆಗಳ ಮೌಲ್ಯಮಾಪನವು ಸ್ವಯಂಚಾಲಿತವಾಗಿರುವುದರಿಂದ, ಅವುಗಳನ್ನು ಆಗಾಗ್ಗೆ ಮೌಲ್ಯೀಕರಿಸಿದಾಗ, ಅಂತಹ ದಾಖಲೆಗಳು ಆಧಾರವಾಗಿರುವ ಸಾಫ್ಟ್ವೇರ್ನ ವ್ಯವಹಾರ ಕಾರ್ಯಚಟುವಟಿಕೆಯ ಮಾಹಿತಿಯ ವಿಶ್ವಾಸಾರ್ಹ ಮೂಲವಾಗಿದೆ. ಅಂತಹ ದಾಖಲೆಗಳು ಮತ್ತು ತ್ವರಿತವಾಗಿ ಹಳತಾಗುವ ವಿಶಿಷ್ಟ ಮುದ್ರಿತ ದಾಖಲೆಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಗುರುತಿಸಲು, ಉದಾಹರಣೆಗಳೊಂದಿಗೆ ಸಂಪೂರ್ಣ ವಿಶೇಷಣಗಳ ಗುಂಪನ್ನು ಲಿವಿಂಗ್ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಯ ಮೂಲಕ ನಿರ್ದಿಷ್ಟತೆಯನ್ನು ಅನ್ವಯಿಸುವ ಪ್ರಮುಖ ಅಭ್ಯಾಸಗಳು ತಂಡಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಈ ಕೆಳಗಿನ ಪ್ರಕ್ರಿಯೆಯ ಮಾದರಿಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಅನ್ವಯಿಸುತ್ತವೆಃ ಎಲ್ಲಾ-ತಂಡಗಳ ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಾಗಾರಗಳು, ಸಣ್ಣ ಸಭೆಗಳು ಅಥವಾ ಟೆಲಿಕಾನ್ಫರೆನ್ಸ್ ವಿಮರ್ಶೆಗಳ ಮೂಲಕ ಸಹಯೋಗದಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಗುರಿಗಳಿಂದ ವ್ಯಾಪ್ತಿಯನ್ನು ಪಡೆಯುವುದು ಉದಾಹರಣೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಗತ್ಯತೆಗಳನ್ನು ವಿವರಿಸುವುದು ನಿರ್ದಿಷ್ಟತೆಗಳನ್ನು ಪರಿಷ್ಕರಿಸುವುದು ಉದಾಹರಣೆಗಳ ಆಧಾರದ ಮೇಲೆ ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆಗಳು ಆಗಾಗ್ಗೆ ಪರೀಕ್ಷೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಆಧಾರವಾಗಿರುವ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸುವುದು ಭವಿಷ್ಯದ ಅಭಿವೃದ್ಧಿ ಸಾಫ್ಟ್ವೇರ್ ತಂಡಗಳನ್ನು ಬೆಂಬಲಿಸಲು ನಿರ್ದಿಷ್ಟತೆಗಳಿಂದ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವುದು ಸ್ಕ್ರಮ್ ಫ್ರೇಮ್ವರ್ಕ್ನೊಳಗೆ ಉದಾಹರಣೆಗೆ ನಿರ್ದಿಷ್ಟತೆಯನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ, ಸಾಮಾನ್ಯವಾಗಿ ಉತ್ಪನ್ನದ ಬ್ಯಾಕ್ಲಾಗ್ ಅನ್ನು ಪರಿಷ್ಕರಿಸಲು ತಮ್ಮ ಸಮಯದ 5%-10% ಅನ್ನು ಕಳೆಯುತ್ತದೆ, ಇದರಲ್ಲಿ ಸಹಯೋಗವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದು, ಉದಾಹರಣೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅವಶ್ಯಕತೆಗಳನ್ನು ವಿವರಿಸುವುದು ಮತ್ತು ಉದಾಹರಣೆಗಳನ್ನು ಪರಿಷ್ಕರಿಸುವುದು ಸೇರಿವೆ. ಉದಾಹರಣೆ ಮ್ಯಾಪಿಂಗ್ ಒಂದು ಸರಳ ತಂತ್ರವಾಗಿದ್ದು ಅದು ಸಂಭಾಷಣೆಯನ್ನು ಮುನ್ನಡೆಸಬಲ್ಲದು ಮತ್ತು ಕಡಿಮೆ ಸಮಯದಲ್ಲಿ ಸ್ವೀಕಾರ ಮಾನದಂಡಗಳನ್ನು ಪಡೆಯಬಹುದು. ಈ ಪ್ರಕ್ರಿಯೆಯು ಕಥೆಗಳನ್ನು ನಿಯಮಗಳು ಮತ್ತು ಉದಾಹರಣೆಗಳಾಗಿ ವಿಭಜಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ವಿವರಣೆಯ ರೂಪದಲ್ಲಿ ದಾಖಲಿಸಲಾಗಿದೆ ಮತ್ತು ಇದು ಬಿ. ಡಿ. ಡಿ ಕ್ಷೇತ್ರದಲ್ಲಿ ವ್ಯಾಪಕವಾಗಿ ಬಳಸಲಾಗುವ ತಂತ್ರವಾಗಿದೆ. ವ್ಯವಹಾರ ಕ್ಷೇತ್ರದ ದೃಷ್ಟಿಕೋನದಿಂದ ಅವಶ್ಯಕತೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಲ್ಲಿ ಅಥವಾ ಸಂವಹನ ಮಾಡುವಲ್ಲಿ ಸಮಸ್ಯೆಗಳನ್ನು ಉಂಟುಮಾಡಲು ಸಾಕಷ್ಟು ಸಾಂಸ್ಥಿಕ ಮತ್ತು ಡೊಮೇನ್ ಸಂಕೀರ್ಣತೆಯನ್ನು ಹೊಂದಿರುವ ಯೋಜನೆಗಳಿಗೆ ಅನ್ವಯಿಸುವ ನಿರ್ದಿಷ್ಟತೆಯು ಉದಾಹರಣೆಗೆ ಅನ್ವಯಿಸುತ್ತದೆ. ಇದು ಸಂಪೂರ್ಣವಾಗಿ ತಾಂತ್ರಿಕ ಸಮಸ್ಯೆಗಳಿಗೆ ಅಥವಾ ಜ್ಞಾನವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಅಥವಾ ಸಂವಹನ ಮಾಡುವುದರಲ್ಲಿ ಪ್ರಮುಖ ಸಂಕೀರ್ಣತೆ ಇಲ್ಲದಿರುವಲ್ಲಿ ಅನ್ವಯಿಸುವುದಿಲ್ಲ. ಹೂಡಿಕೆ ಬ್ಯಾಂಕಿಂಗ್, ಹಣಕಾಸು ವ್ಯಾಪಾರ, ವಿಮೆ, ವಿಮಾನಯಾನ ಟಿಕೆಟ್ ಮೀಸಲಾತಿ, ಆನ್ಲೈನ್ ಗೇಮಿಂಗ್ ಮತ್ತು ಬೆಲೆ ಹೋಲಿಕೆ ಸೇರಿದಂತೆ ಡೊಮೇನ್ಗಳಲ್ಲಿ ಈ ವಿಧಾನದ ದಾಖಲಿತ ಬಳಕೆಗಳಿವೆ. ಇದೇ ರೀತಿಯ ವಿಧಾನವನ್ನು ಪರಮಾಣು-ವಿದ್ಯುತ್ ಸ್ಥಾವರದ ಸಿಮ್ಯುಲೇಶನ್ ಯೋಜನೆಯಲ್ಲಿಯೂ ದಾಖಲಿಸಲಾಗಿದೆ. ಹಂಚಿಕೊಂಡ ಉದಾಹರಣೆಗಳನ್ನು ಆಧರಿಸಿದ ಪರೀಕ್ಷೆಗಳು ವ್ಯವಹಾರದ ದೃಷ್ಟಿಕೋನದಿಂದ ತಂತ್ರಾಂಶವನ್ನು ತಲುಪಿಸುವಾಗ ತಂಡವನ್ನು ಬೆಂಬಲಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಪರೀಕ್ಷೆಗಳ ವಿಭಾಗದಲ್ಲಿ ಉತ್ತಮವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ (ಚುರುಕಾದ ಪರೀಕ್ಷಾ ಕ್ವಾಡ್ರಂಟ್ಗಳನ್ನು ನೋಡಿ)-ಸರಿಯಾದ ಉತ್ಪನ್ನವನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆಯೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಸಾಫ್ಟ್ವೇರ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ತಾಂತ್ರಿಕ ದೃಷ್ಟಿಕೋನದಿಂದ ನೋಡುವ ಪರೀಕ್ಷೆಗಳನ್ನು (ಉತ್ಪನ್ನವನ್ನು ಸರಿಯಾದ ರೀತಿಯಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆಯೇ ಎಂದು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ಪರೀಕ್ಷೆಗಳು, ಉದಾಹರಣೆಗೆ ಘಟಕ ಪರೀಕ್ಷೆಗಳು, ಘಟಕ ಅಥವಾ ತಾಂತ್ರಿಕ ಏಕೀಕರಣ ಪರೀಕ್ಷೆಗಳು) ಅಥವಾ ಉತ್ಪನ್ನವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ನಂತರ ಮೌಲ್ಯಮಾಪನ ಮಾಡುವ ಪರೀಕ್ಷೆಗಳನ್ನು (ಭದ್ರತಾ ನುಗ್ಗುವಿಕೆಯ ಪರೀಕ್ಷೆಗಳಂತಹ) ಅವು ಬದಲಾಯಿಸುವುದಿಲ್ಲ. ಸಾಫ್ಟ್ವೇರ್ ಯೋಜನೆಗಳಲ್ಲಿ ಸತ್ಯ, ಅವಶ್ಯಕತೆಗಳು ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆಗಳ ಏಕೈಕ ಮೂಲವಾಗಿ ವಾಸ್ತವಿಕ ಉದಾಹರಣೆಗಳ ಆರಂಭಿಕ ದಾಖಲಿತ ಬಳಕೆಯು ವೈಕ್ಯಾಶ್ + ಯೋಜನೆಯಾಗಿದೆ, ಇದನ್ನು ವಾರ್ಡ್ ಕನ್ನಿಂಗ್ಹ್ಯಾಮ್ 1996 ರಲ್ಲಿ ಎ ಪ್ಯಾಟರ್ನ್ ಲ್ಯಾಂಗ್ವೇಜ್ ಆಫ್ ಕಾಂಪಿಟೇಟಿವ್ ಡೆವಲಪ್ಮೆಂಟ್ ಪತ್ರಿಕೆಯಲ್ಲಿ ವಿವರಿಸಿದ್ದಾರೆ. ಸ್ಪೆಸಿಫಿಕೇಷನ್ ಬೈ ಎಕ್ಸಾಂಪಲ್ ಎಂಬ ಹೆಸರನ್ನು ಮಾರ್ಟಿನ್ ಫೌಲರ್ 2004ರಲ್ಲಿ ಸೃಷ್ಟಿಸಿದರು. ಉದಾಹರಣೆಯ ಮೂಲಕ ನಿರ್ದಿಷ್ಟಪಡಿಸುವಿಕೆಯು 1997ರ ಸುಮಾರಿಗೆ ಪ್ರಸ್ತಾಪಿಸಲಾದ ಎಕ್ಸ್ಟ್ರೀಮ್ ಪ್ರೊಗ್ರಾಮಿಂಗ್ನ ಗ್ರಾಹಕ ಪರೀಕ್ಷಾ ಅಭ್ಯಾಸದ ವಿಕಸನವಾಗಿದೆ ಮತ್ತು 2004ರಿಂದ ಡೊಮೈನ್-ಚಾಲಿತ ವಿನ್ಯಾಸದಿಂದ ಸರ್ವವ್ಯಾಪಿ ಭಾಷೆಯ ಕಲ್ಪನೆಯಾಗಿದೆ, 1989ರಲ್ಲಿ ವೈನ್ಬರ್ಗ್ ಮತ್ತು ಗಾಸ್ ವಿವರಿಸಿದ ಅವಶ್ಯಕತೆಗಳಂತೆ ಕಪ್ಪು-ಪೆಟ್ಟಿಗೆ ಪರೀಕ್ಷೆಗಳ ಕಲ್ಪನೆಯನ್ನು ಬಳಸಿ. ಸ್ವಯಂಚಾಲಿತತೆ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಯೋಜನೆಗಳಲ್ಲಿ ನಿರ್ದಿಷ್ಟತೆಯ ಯಶಸ್ವಿ ಅನ್ವಯಕ್ಕೆ ದೊಡ್ಡ ಪ್ರಮಾಣದ ಉದಾಹರಣೆಗಳ (ಪರೀಕ್ಷೆಗಳು) ವಿರುದ್ಧ ಸಾಫ್ಟ್ವೇರ್ ಕಾರ್ಯವನ್ನು ಆಗಾಗ್ಗೆ ದೃಢೀಕರಿಸುವ ಅಗತ್ಯವಿದೆ. ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಇದಕ್ಕೆ ಉದಾಹರಣೆಗಳ ಆಧಾರದ ಮೇಲೆ ಪರೀಕ್ಷೆಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿರಬೇಕು. ಪರೀಕ್ಷೆಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವುದು ಒಂದು ಸಾಮಾನ್ಯ ವಿಧಾನವಾಗಿದೆ ಆದರೆ ಉದಾಹರಣೆಗಳನ್ನು ಓದಬಲ್ಲ ಮತ್ತು ತಾಂತ್ರಿಕವಲ್ಲದ ಮತ್ತು ತಾಂತ್ರಿಕ ತಂಡದ ಸದಸ್ಯರಿಗೆ ಪ್ರವೇಶಿಸಬಹುದಾದ ರೂಪದಲ್ಲಿ ಇಟ್ಟುಕೊಳ್ಳುವುದು, ಉದಾಹರಣೆಗಳನ್ನು ಸತ್ಯದ ಏಕೈಕ ಮೂಲವಾಗಿ ಇಟ್ಟುಕೊಳ್ಳುವುದು. ಈ ಪ್ರಕ್ರಿಯೆಯು ಪರೀಕ್ಷಾ ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಸಾಧನಗಳ ಒಂದು ವರ್ಗದಿಂದ ಬೆಂಬಲಿತವಾಗಿದೆ, ಇದು ಎರಡು ಅಂಶಗಳಾಗಿ ವಿಂಗಡಿಸಲಾದ ಪರೀಕ್ಷೆಗಳೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ-ನಿರ್ದಿಷ್ಟತೆ ಮತ್ತು ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಪದರ. ಸಾಮಾನ್ಯವಾಗಿ ಸರಳ ಪಠ್ಯ ಅಥವಾ ಎಚ್. ಟಿ. ಎಂ. ಎಲ್ ರೂಪದಲ್ಲಿರುವ ಮತ್ತು ಉದಾಹರಣೆಗಳು ಮತ್ತು ಸಹಾಯಕ ವಿವರಣೆಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಪರೀಕ್ಷೆಯ ವಿವರಣೆ. ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಪದರವು ಉದಾಹರಣೆಯನ್ನು ಪರೀಕ್ಷೆಯಲ್ಲಿರುವ ತಂತ್ರಾಂಶ ವ್ಯವಸ್ಥೆಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ. ಅಂತಹ ಸಾಧನಗಳ ಉದಾಹರಣೆಗಳೆಂದರೆಃ ಬೆಹತ್ ಕಾನ್ಕಾರ್ಡಿಯನ್ ಸೌತೆಕಾಯಿ ಫಿಟ್ನೆಸ್ಸೆ ಫ್ರೇಮ್ವರ್ಕ್ ಫಾರ್ ಇಂಟಿಗ್ರೇಟೆಡ್ ಟೆಸ್ಟ್ ರೋಬೋಟ್ ಫ್ರೇಮ್ವರ್ಕ್ ಸ್ಪೆಕ್ಫ್ಲೋ ಫಾರ್. ನೆಟ್ ಗೇಜ್ (ಸಾಫ್ಟ್ವೇರ್) ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಗೂಗಲ್ ಚರ್ಚಾ ಗುಂಪು ಪುಸ್ತಕಗಳು, ವೀಡಿಯೊಗಳು, ಉಪಕರಣಗಳು ಮತ್ತು Specificationbyexample.com ನಿಂದ ಪ್ರಸ್ತುತಿಗಳು ಮಾರ್ಟಿನ್ ಫೌಲರ್ನ ಬ್ಲಿಕಿ ಸಾಫ್ಟ್ವೇರ್ ಡೆವಲಪ್ಮೆಂಟ್ ಫಿಲಾಸಫಿಸ್ ಸಾಫ್ಟ್ವೇರ್ ಟೆಸ್ಟಿಂಗ್ ಬಿಸಿನೆಸ್ ಅನಾಲಿಸಿಸ್