𝗣𝗿𝗼𝗺𝗽𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗳𝗼𝗿 𝗦𝘆𝗻𝘁𝗵𝗲𝘁𝗶𝗰 𝗗𝗮𝘁𝗮
സിന്തറ്റിക് ഡാറ്റ നിർമ്മിക്കാൻ LLM-കൾ ഉപയോഗിക്കുന്നത് QA ടീമുകൾക്കിടയിൽ പ്രചാരമുള്ള ഒരു തന്ത്രമാണ്. നിമിഷങ്ങൾക്കുള്ളിൽ നൂറുകണക്കിന് സങ്കീർണ്ണമായ റെക്കോർഡുകൾ നിങ്ങൾക്ക് നിർമ്മിക്കാൻ കഴിയും.
എന്നാൽ സാധാരണമായ (generic) പ്രോംപ്റ്റുകൾ ഒരു കെണിയിലേക്ക് നയിച്ചേക്കാം. നിങ്ങൾ ഒരു LLM-നോട് "50 ടെസ്റ്റ് ഉപയോക്താക്കളെ നിർമ്മിക്കൂ" എന്ന് ആവശ്യപ്പെട്ടാൽ, അത് പ്രവചിക്കാവുന്നതും ആവർത്തന സ്വഭാവമുള്ളതുമായ ഡാറ്റ നൽകും. ഇത് ഡാറ്റാ കവറേജ് ലഭിച്ചുവെന്ന തെറ്റായ തോന്നൽ ഉണ്ടാക്കുന്നു. ഇത് പ്രധാനപ്പെട്ട എഡ്ജ് കേസുകളും (edge cases) ബിസിനസ് ലോജിക്കും വിട്ടുപോകുമ്പോൾ, "ഹാപ്പി പാത്ത്" (happy path) മാത്രം പരിശോധിക്കുന്ന നിരവധി റെക്കോർഡുകൾ നിങ്ങൾക്ക് ലഭിക്കുന്നു.
ഇത് പരിഹരിക്കുന്നതിന്, നിങ്ങൾ വെറുമൊരു ആവശ്യക്കാരനിൽ നിന്ന് ഒരു ഓർക്കസ്ട്രേറ്റർ (orchestrator) ആയി മാറണം. നിങ്ങളുടെ പ്രോംപ്റ്റ് എൻജിനീയറിംഗിൽ ടെസ്റ്റിംഗ് തത്വങ്ങൾ നേരിട്ട് പ്രയോഗിക്കേണ്ടതുണ്ട്.
നിങ്ങളുടെ ഡാറ്റാ ഗുണനിലവാരം മെച്ചപ്പെടുത്താൻ ഈ മൂന്ന് പാറ്റേണുകൾ ഉപയോഗിക്കുക:
- Equivalence Partitioning and Boundary Value Analysis ഡാറ്റ ആവശ്യപ്പെടുന്നതിന് പകരം, ആദ്യം ടെസ്റ്റ് ക്ലാസുകൾ മാപ്പ് ചെയ്യാൻ LLM-നെ നിർബന്ധിക്കുക. ഇതിനായി Chain-of-Thought പ്രോംപ്റ്റിംഗ് ഉപയോഗിക്കുക.
- നിങ്ങളുടെ റോൾ ഒരു സീനിയർ QA എഞ്ചിനീയർ എന്ന നിലയിൽ നിർവചിക്കുക.
- പ്രത്യേക ബിസിനസ് നിയമങ്ങൾ നൽകുക (ഉദാഹരണത്തിന്, കൂപ്പൺ പരിധികൾ അല്ലെങ്കിൽ കുറഞ്ഞ ചിലവ്).
- എല്ലാ സാധുവായതും (valid) അസാധുവായതുമായ (invalid) equivalence classes ഒരു ടേബിളിൽ പട്ടികപ്പെടുത്താൻ LLM-നോട് നിർദ്ദേശിക്കുക.
- കണ്ടെത്തിയ ഓരോ സാഹചര്യത്തിനും കൃത്യമായി ഒരു JSON payload വീതം ആവശ്യപ്പെടുക.
ഇത് അനാവശ്യമായ റെക്കോർഡുകൾക്കായി സമയം കളയാതെ തന്നെ, $99.99 vs $100.00 പോലുള്ള കൃത്യമായ ട്രാൻസിഷൻ പോയിന്റുകൾ (transition points) പരിശോധിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുന്നു.
- State Transition Testing പേയ്മെന്റ് ഫ്ലോകൾ അല്ലെങ്കിൽ ഓർഡർ മാനേജ്മെന്റ് പോലുള്ള സിസ്റ്റങ്ങളിൽ, ഡാറ്റ ഒരു ലൈഫ് സൈക്കിളിന്റെ വിവിധ ഘട്ടങ്ങളെ പ്രതിഫലിപ്പിക്കണം.
- സാധ്യമായ എല്ലാ സ്റ്റേറ്റുകളുടെയും (states) ഒരു പട്ടിക നൽകുക (ഉദാഹരണത്തിന്, Created, Paid, Shipped, Delivered).
- ഒരു State Transition Matrix ഉൾക്കൊള്ളുന്ന ഒരു CSV നിർമ്മിക്കാൻ LLM-നോട് ആവശ്യപ്പെടുക.
- മൂന്ന് തരം ഫ്ലോകൾ ആവശ്യപ്പെടുക: Linear (സാധുവായത്), Exception (വ്യതിയാനങ്ങൾ), കൂടാതെ Violation (അസാധുവായ ട്രാൻസിഷനുകൾ).
- ഓരോ സവിശേഷമായ സ്റ്റേറ്റ് കോമ്പിനേഷനും ഒരു റോ മാത്രം നിർമ്മിക്കാനുള്ള നിയമം നിശ്ചയിക്കുക.
ഇത് ഡ്യൂപ്ലിക്കേറ്റ് റെക്കോർഡുകൾ ഒഴിവാക്കുകയും നെഗറ്റീവ് ടെസ്റ്റ് കേസുകൾ (negative test cases) നിർമ്മിക്കാൻ പ്രേരിപ്പിക്കുകയും ചെയ്യുന്നു.
- Variance Control and Negative Prompting LLM-കൾ പലപ്പോഴും ഒരേ തരത്തിലുള്ള (homogeneous) ഡാറ്റയാണ് ഉൽപ്പാദിപ്പിക്കാറുള്ളത്, ഉദാഹരണത്തിന് ഒരേ പ്രദേശങ്ങളോ പ്രായപരിധികളോ ഉപയോഗിക്കുന്നത്. ഇത് തടയാൻ Negative Prompting ഉപയോഗിക്കുക.
- ഡാറ്റാ വിതരണത്തിനായി (distribution) വ്യക്തമായ ആവശ്യകതകൾ നിശ്ചയിക്കുക (ഉദാഹരണത്തിന്, പ്രത്യേക പ്രായപരിധികൾ അല്ലെങ്കിൽ ഭൂമിശാസ്ത്രപരമായ പ്രദേശങ്ങൾ).
- ഒരു "PROHIBITIONS" (നിരോധനങ്ങൾ) വിഭാഗം ചേർക്കുക.
- "John Doe" പോലുള്ള സാധാരണ പേരുകൾ വ്യക്തമായി നിരോധിക്കുക.
- വേരിയബിളുകളുടെ ഒരേ കോമ്പിനേഷനുകൾ ആവർത്തിക്കുന്നത് നിരോധിക്കുക.
- തുടർച്ചയായതോ അല്ലെങ്കിൽ ഒരേപോലെയുള്ളതോ ആയ ID നമ്പറുകൾ നിരോധിക്കുക.
ഇത് പക്ഷപാതം (bias) ഇല്ലാതാക്കുകയും നിങ്ങളുടെ ബാക്കെൻഡ് വൈവിധ്യമാർന്നതും യഥാർത്ഥവുമായ ഡാറ്റ കൈകാര്യം ചെയ്യുന്നുവെന്ന് ഉറപ്പാക്കുകയും ചെയ്യുന്നു.
നിങ്ങളുടെ ഡാറ്റ കൃത്യമായ ലക്ഷ്യത്തോടെയുള്ളതാണെങ്കിൽ മാത്രമേ AI-യുടെ വേഗത പ്രയോജനപ്പെടുകയുള്ളൂ. ഈ ജനറേറ്റീവ് മോഡലുകളെ നിയന്ത്രിക്കുന്ന നിയന്ത്രണങ്ങൾ കോഡ് ചെയ്യുക എന്നതാണ് ഒരു QA പ്രൊഫഷണൽ എന്ന നിലയിൽ നിങ്ങളുടെ ചുമതല.
ഓപ്ഷണൽ ലേണിംഗ് കമ്മ്യൂണിറ്റി: https://t.me/GyaanSetuAi