You are on page 1of 74

‫درس آزﻣﻮن ﻧﺮم اﻓﺰار‬

‫اﻓﺰار‬
‫ﻧﺮم اﻓﺰا‬
‫ﺗﺴﺖ ﻧ م‬
‫ﺗ ﺖ‬

‫ﺧﻮﺷﻨﻮﻳﺲ‬
‫ﻣﻔﺎﻫﻴﻢ ﻛﻠﻴﺪي‬
‫ﭼﺮا ﺗﺴﺖ؟‬
‫ﭼﺮ‬ ‫‪‬‬

‫ﭼﻪ ﭼﻴﺰي را ﺗﺴﺖ ﻛﻨﻴﻢ؟‬ ‫‪‬‬

‫ﻓﻌﺎﻟﻴﺘﻬﺎي ﺗﺴﺖ‬ ‫•‬


‫ﻣﻌﻴﺎرﻫﺎي ﺗﺴﺖ‬ ‫•‬
‫اﺻﻄﻼﺣﺎت ﺗﺴﺖ‬ ‫•‬
‫ﺳﺎﺧﺘﺎرﻫﺎي ﭼﻬﺎرﮔﺎﻧﻪ‬ ‫•‬
‫ﻣﻔﻬﻮم ﭘﻮﺷﺶ‬ ‫•‬
‫ﭼﮕﻮﻧﻪ ﺗﺴﺖ ﻛﻨﻴﻢ؟‬ ‫‪‬‬

‫ﺳﻄﻮح ﺑﻠﻮغ ﺗﺴﺖ‬ ‫•‬


‫ﻧﺤﻮه ﺑﻬﺒﻮد ﺗﺴﺖ‬ ‫•‬
‫‪٢‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺳﻪ ﺳﺆال ﻣﻬﻢ‬

‫‪ .1‬ﭼﺮا ﺗﺴﺖ ﻣﻲﻛﻨﻴﻢ؟‬

‫‪ .2‬ﭼﻪ ﻛﺎرﻫﺎﻳﻲ ﺑﺎﻳﺪ در ﻃﻮل ﺗﺴﺖ اﻧﺠﺎم دﻫﻴﻢ؟‬

‫‪ .3‬ﭼﮕﻮﻧﻪ ﻣﻴﺘﻮاﻧﻴﻢ ﺑﻪ آﻳﻨﺪه ﺗﺴﺖ ﺑﺮﺳﻴﻢ؟‬

‫ﻢ‪.‬‬
‫ﻦ اﻧﻘﻼب ﻫﺴﺘﻴﻢ‬
‫در ﻣﻴﺎﻧﻪ اﻳﻦ‬
‫ﺣﺎﺿﺮ ر‬
‫ﺮ‬ ‫در ﺣﺎل‬
‫ل‬ ‫ﺗﺤﻮل اﺳﺖ و ﻣﺎ ر‬
‫اﻓﺰارر ﻳﻚ اﻧﻘﻼب و ﻮل‬
‫ﺮم ﺰ‬‫ﺗﺴﺖ ﻧﺮم‬
‫ﺑﺎﻻﺧﺮه در ﺣﺎل ﺷﺮوع ﺑﻪ اﺳﺘﻔﺎده ﻛﺮدن از ﻧﺘﺎﻳﺞ ﺗﺤﻘﻴﻘﺎت در ﻋﻤﻞ ﻫﺴﺘﻴﻢ!‬

‫ﭼﻨﺪ ﺧﺮاﺑﻲ ﺟﺎﻟﺐ در ﻧﺮم اﻓﺰارﻫﺎ‬

‫‪٣‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫اوﻟﻴﻦ اﺷﻜﺎﻟﻬﺎ )‪(bug‬‬

‫ﺑﺎگ( ‪:Hopper‬‬ ‫ﺣﺸﺮه ) ﺎگ‬


‫ﺸ‬
‫ﻳﻚ »ﺑﻴﺪ« ﻛﻪ در ﻳﻚ رﻟﻪ‬
‫در ﻳﻚ ﻣﺎﺷﻴﻦ ﻗﺪﻳﻤﻲ‬
‫ﺑﻮد‪..‬‬
‫ﮔﻴﺮ اﻓﺘﺎده ﺑﻮد‬

‫»ﻳﻚ ﻓﺮاﻳﻨﺪ ﺗﺤﻠﻴﻞ ﺑﺎﻳﺪ اﺟﺮا ﺷﻮد ﺗﺎ ﺑﺘﻮاﻧﺪ‬ ‫»اﻳﻦ اﺗﻔﺎق ﺗﻘﺮﻳﺒﺎ در ﺗﻤﺎم اﺧﺘﺮاﻋﺎت ﻣﻦ‬
‫داده ﻫﺎي ﺿﺮوري ﻋﻤﻠﻴﺎﺗﻲ را ﺑﺮاي ﻣﻮﺗﻮر‬ ‫وﺟﻮد داﺷﺘﻪ اﺳﺖ‪ .‬اوﻟﻴﻦ ﮔﺎم ﻳﻚ ﻓﻜﺮ‬
‫اﻳﻨﺠﺎ‬
‫ﻦ اﺳﺖ درر ﻳ ﺠ‬ ‫ﻴﻞ آﻣﺎده ﻛﻨﺪ و ﻣﻤﻜﻦ‬ ‫ﺗﺤﻠﻴﻞ‬ ‫ﭙﺲ ﻣﺸﻜﻼت ﺧﻮد را ﻧﺸﺎن‬
‫ن‬ ‫ﻲ اﺳﺖ‪ .‬ﺳﭙﺲ‬ ‫ﻧﺎﮔﻬﺎﻧﻲ‬
‫ﻣﻨﺒﻌﻲ از ﺧﻄﺎﻫﺎي ﻣﻤﻜﻦ وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫ﻣﻲ دﻫﻨﺪ؛ ﺳﭙﺲ ﺧﻄﺎﻫﺎي ﻛﻮﭼﻚ ﺧﻮد را ﺑﻪ‬
‫اﮔﺮ ﻓﺮض ﻛﻨﻴﻢ ﻣﻜﺎﻧﻴﺰم واﻗﻌﻲ ﺑﺪون ﺧﻄﺎ‬ ‫ﻧﻤﺎﻳﺶ ﻣﻲ ﮔﺬارﻧﺪ‪ ،‬و ﻣﺎﻫﻬﺎ ﻛﺎر و ﻣﻄﺎﻟﻌﻪ زﻳﺎد‬
‫اﺳﺖ‪ ،‬ﻣﻤﻜﻦ اﺳﺖ ﻣﺸﻜﻼت ﭘﻴﺶ ﺑﻴﻨﻲ ﻧﺸﺪه‬ ‫ﺑﺮاي ﺣﻞ اﻳﻦ ﻣﺴﺎﺋﻞ ﻻزم اﺳﺖ‪«.‬‬
‫ﺷﻮد«‬
‫اﻳﺠﺎد ﺷ د‬
‫ااي ا ﺎد‬ ‫‪Thomas Edison‬‬
‫‪– Ada, Countess Lovelace‬‬
‫)ﻳﺎدداﺷﺘﻲ ﺑﺮ ﻣﻮﺗﻮر ﺗﺤﻠﻴﻠﻲ ‪(Babbage‬‬
‫‪٤‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻋﺪم ﻣﻮﻓﻘﻴﺖ در ﺗﻮﻟﻴﺪ ﻧﺮم اﻓﺰار‬

‫ﻛﺎوﺷﮕﺮ ﻣﺮﻳﺦ ﻧﺎﺳﺎ‪ ،‬در ﺳﭙﺘﺎﻣﺒﺮ ‪ 1999‬ﺑﻪ ﺧﺎﻃﺮ ﻧﻘﺺ در ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي واﺣﺪﻫﺎي آن ﺳﻘﻮط ﻛﺮد –‬ ‫‪‬‬
‫دﻻر!‬
‫ﻣﻴﻠﻴﻮن ﻻ‬‫‪ 50‬ﻠ‬
‫ﺑﻴﺸﺘﺮ ااز ‪5‬‬

‫ﺧﺴﺎرات ﻋﻈﻴﻤﻲ ﻧﺎﺷﻲ از ﺷﻜﺴﺖ ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي وب ﺑﻮده اﺳﺖ‪.‬‬ ‫‪‬‬
‫• ﺧﺪﻣﺎت اﻗﺘﺼﺎدي‪ 6.5 :‬ﻣﻴﻠﻴﻮن دﻻر در ﻫﺮ ﺳﺎﻋﺖ‬
‫• ﻓﺮوش ﻛﺎرﺗﻬﺎي اﻋﺘﺒﺎري‪2.4 :‬ﻣﻴﻠﻴﻮن دﻻر در ﻫﺮ ﺳﺎﻋﺖ‬

‫در دﺳﺎﻣﺒﺮ ‪ 2006‬ﭘﻴﺸﻨﻬﺎد ‪ BOGO‬ﺳﺎﻳﺖ آﻣﺎزون ﺑﻪ ﺗﺨﻔﻴﻒ دو ﺑﺮاﺑﺮ ﺗﺒﺪﻳﻞ ﺷﺪ‪.‬‬ ‫‪‬‬

‫داراي‬
‫اﻓﺰارﻫﺎي ا ا‬
‫ﻫﺎي ااﻣﻨﻴﺘﻲ ﺎﻧﺎﺷﻲ ااز ﻧﺮم اﻓ ا ﺎ‬
‫ﭘﺬﻳﺮي ﺎ‬
‫اﻛﺜﺮ آآﺳﻴﺐ ﺬ‬ ‫‪ symantec‬ا ﻼ‬
‫اﻋﻼم ﻛﻛﺮد ﻛﻛﻪ اﻛ‬ ‫‪t 2007‬‬
‫ﺳﺎل ‪2 7‬‬
‫در ﺎل‬ ‫‪‬‬
‫ﻧﻘﺺ اﺳﺖ‪.‬‬
‫ﺗﺴﺖ ﻗﻮﻳﺘﺮ ﻣﻲ ﺗﻮاﻧﺪ اﻏﻠﺐ اﻳﻦ ﻣﺸﻜﻼت را ﺣﻞ ﻛﻨﺪ‬ ‫‪‬‬

‫‪٥‬‬
‫ﺧﺴﺎرت ﻣﺎﻟﻲ ﺑﻪ ﻋﻠﺖ ﻧﺮم اﻓﺰار ﺿﻌﻴﻒ‪ ،‬در ﺳﻄﺢ ﺟﻬﺎن‪ ،‬ﺑﺴﻴﺎر ﺣﻴﺮت اﻧﮕﻴﺰ اﺳﺖ‪.‬‬
‫ﭼﺮا ﺗﺴﺖ ﻧﺮم اﻓﺰار ﻣﻬﻢ اﺳﺖ؟‬
‫‪Ariane 5:‬‬
‫اﺷﻜﺎل در دﺳﺘﮕﻴﺮي ﺧﻄﺎ‪ :‬ﻣﻮﺟﺐ‬
‫ﺧﻮدﺗﺨﺮﻳﺒﻲ در ﺣﻴﻦ ﭘﺮواز ﺷﺪ )ﺗﺒﺪﻳﻞ‬
‫‪ 64‬ﺑﻴﺖ ﺑﻪ ‪ 16‬ﺑﻴﺖ‪ .‬ﺧﺴﺎرت‪ :‬ﺣﺪود ‪370‬‬ ‫ﮔﺰارش‪ NIST‬ﺣﺎﻛﻲ از ﺗﺎﺛﻴﺮات اﻗﺘﺼﺎدي ﻧﺎﺷﻲ از زﻳﺮ ﺳﺎﺧﺘﻬﺎي ﻧﺎﻛﺎﻓﻲ‬ ‫‪‬‬
‫دﻻر(‬
‫ﻣﻴﻠﻴﻮن ﻻ‬
‫ﻠ‬ ‫اﻓﺰارر اﺳﺖ )‪.((220022‬‬
‫ﺮم ﺰ‬‫ﺗﺴﺖ ﻧﺮم‬
‫ﺧﺴﺎرت ﻧﺎﺷﻲ از ﺗﺴﺖ ﻧﺎﻛﺎﻓﻲ ﻧﺮم اﻓﺰار ﺑﻪ ﺗﻨﻬﺎﻳﻲ در اﻳﺎﻻت ﻣﺘﺤﺪه ﺑﻴﻦ ‪ 22‬و ‪ 59‬ﻣﻴﻠﻴﺎرد‬ ‫‪‬‬
‫دﻻر در ﺳﺎل اﺳﺖ‪.‬‬
‫ﻣﺤﻞ ﺳﻘﻮط ‪Mars‬‬ ‫روش ﻫﺎي ﺑﻬﺘﺮ ﻣﻲ ﺗﻮاﻧﻨﺪ اﻳﻦ ﻫﺰﻳﻨﻪ را ﺑﻪ ﻧﺼﻒ ﺑﺮﺳﺎﻧﻨﺪ‪.‬‬ ‫‪‬‬
‫‪Polar Lander‬‬
‫ﺷﻜﺴﺖ ﻫﺎي اﺳﺎﺳﻲ‪:‬‬ ‫‪‬‬
‫اﻧﻔﺠﺎر آرﻳﺎن ‪ ،5‬ﻣﺮﻳﺦ ﭘﻴﻤﺎي ‪ ،Mars Polar Lander‬اﺷﻜﺎل ‪ FDIV‬ﭘﻨﻴﻮم اﻳﻨﺘﻞ‬ ‫‪‬‬

‫ﺗﺴﺖ ﻧﺎﻛﺎﻓﻲ ﻧﺮم اﻓﺰار ﻫﺎي ‪) safety-critical‬ﻛﻪ اﻳﻤﻨﻲ در آﻧﻬﺎ ﺑﺴﻴﺎر‬ ‫‪‬‬
‫ﻣﻬﻢ اﺳﺖ( ﻣﻲ ﺗﻮاﻧﺪ ﻫﺰﻳﻨﻪ ﻫﺎي ﺟﺎﻧﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪:‬‬
‫ﻣﺎﺷﻴﻦ رادﻳﻮاﻛﺘﻴﻮ‪THERAC-25‬ﻣﻮﺟﺐ ﻣﺮگ ‪ 3‬ﺗﻦ ﺷﺪ!‬ ‫‪‬‬

‫ﻣﺎ ﻣﻴﺨﻮاﻫﻴﻢ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻳﻤﺎن ﻗﺎﺑﻞ اﻃﻤﻴﻨﺎن ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪‬‬


‫– ﺗﺴﺖ‪ ،‬راه ﺣﻞ ﺑﺮرﺳﻲ اﻳﻦ ﻣﻮﺿﻮع اﺳﺖ‪.‬‬

‫ﻃﺮاﺣﻲ ‪THERAC-25‬‬

‫‪٦‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻧﺮم اﻓﺰار ﭘﻮﺳﺘﻪ اي اﺳﺖ ﺑﺮ ﺗﻤﺪن ﻣﺎ‬

‫‪٧‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻧﺮم اﻓﺰار ﻛﻨﺘﺮل اﻳﻤﻨﻲ اﻳﺮﺑﺎس ‪319‬‬

‫از دﺳﺖ دادن ﺣﺎﻟﺖ ‪autopilot‬‬

‫از دﺳﺖ دادن ﭼﺮاغ ﻫﺎ و ﻧﻮر ﻫﻮاﭘﻴﻤﺎ و ﺳﻴﺴﺘﻢ ﻣﺨﺎﺑﺮه داﺧﻞ ﻫﻮاﭘﻴﻤﺎ‬

‫از دﺳﺖ دادن ﺻﻔﺤﻪ ﻧﻤﺎﻳﺶ ﻧﺎوﺑﺮي و ﺻﻔﺤﻪ ﻧﻤﺎﻳﺶ اﺻﻠﻲ ﭘﺮواز ﻫﻢ در ﺳﻤﺖ ﻓﺮﻣﺎﻧﺪه و ﻫﻢ ﺑﺮاي ﻛﻤﻚ ﺧﻠﺒﺎن‬

‫‪٨‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ 2‬در ﺷﻤﺎل ﺷﺮﻗﻲ ﻗﺎره اﻣﺮﻳﻜﺎ‬
‫‪2003‬‬
‫ﺧﺎﻣﻮﺷﻲ ﺳﺎل ‪3‬‬

‫‪ 508‬واﺣﺪ ﺗﻮﻟﻴﺪ ﺑﺮق و ‪256‬‬


‫ﻧﻴﺮوﮔﺎه ﺗﻌﻄﻴﻞ ﺷﺪ‬

‫‪ 10‬ﻣﻴﻠﻴﻮن ﻧﻔﺮ را در اوﻧﺘﺎرﻳﻮ‬


‫ﻛﺎﻧﺎدا ﺗﺤﺖ ﺗﺄﺛﻴﺮ ﻗﺮار داد‬

‫‪ 40‬ﻣﻴﻠﻴﻮن ﻧﻔﺮ را در ‪ 8‬اﻳﺎﻟﺖ‬


‫ﻣﺨﺘﻠﻒ اﻳﺎﻻت ﻣﺘﺤﺪه اﻣﺮﻳﻜﺎ‬
‫ﺗﺤﺖ ﺗﺄﺛﻴﺮ ﻗﺮار داد‬

‫ﺧﺴﺎرت ﻣﺎﻟﻲ‬
‫‪ 6‬ﻣﻴﻠﻴﺎرد دﻻري‬

‫ﺳﻴﺴﺘﻢ زﻧﮓ ﺧﻄﺮ در ﺳﻴﺴﺘﻢ ﻣﺪﻳﺮﻳﺖ اﻧﺮژي ﺑﻪ ﻋﻠﺖ ﺧﻄﺎي ﻧﺮم اﻓﺰار دﭼﺎر ﺧﺮاﺑﻲ ﺷﺪ و اﭘﺮاﺗﻮرﻫﺎ‬
‫از اﺿﺎﻓﻪ ﺑﺎر ﺑﺮق در ﺳﻴﺴﺘﻢ اﻃﻼع ﭘﻴﺪا ﻧﻜﺮدﻧﺪ‪.‬‬
‫‪٩‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫اﻫﻤﻴﺖ ﺗﺴﺖ ﻧﺮم اﻓﺰار در ﺣﺎل اﻓﺰاﻳﺶ اﺳﺖ‬ ‫ﺗﺴﺖ در ﻗﺮن ‪21‬‬

‫ﻣﺎ در ﻳﻚ دوره ﮔﺬار ﻫﺴﺘﻴﻢ‬ ‫‪‬‬


‫ﻧﺮم اﻓﺰار رﻓﺘﺎر را ﺗﻌﺮﻳﻒ ﻣﻲ ﻛﻨﺪ‬ ‫‪‬‬
‫ﺻﻨﻌﺖ در ﺣﺎل اﻧﻘﻼﺑﻲ در ﻛﺎرﺑﺮد ﺗﺴﺖ‬ ‫• روﺗﺮﻫﺎي ﺷﺒﻜﻪ ﻫﺎ‪ ،‬اﻣﻮرﻣﺎﻟﻲ‪،‬‬
‫ﺑﺮاي ﻣﻮﻓﻘﻴﺖ ﻣﺤﺼﻮﻻت ﻧﺮم اﻓﺰاري‬ ‫• ﺳﻮﻳﭻ ﻫﺎي ﺷﺒﻜﻪ و ﺳﺎﻳﺮ زﻳﺮﺳﺎﺧﺖ ﻫﺎ‬
‫ااﺳﺖ‬ ‫اﻣﺮوزه ﺑﺎزار ﻧﺮم اﻓﺰار ‪:‬‬ ‫‪‬‬
‫• ﺑﺴﻴﺎر ﺑﺰرﮔﺘﺮ اﺳﺖ‬
‫• رﻗﺎﺑﺘﻲ ﺗﺮ اﺳﺖ‬
‫• ﻛﺎرﺑﺮان ﺑﻴﺸﺘﺮي دارﻧﺪ‬

‫ﻓﺮاﻳﻨﺪﻫﺎي ﭼﺎﺑﻚ ﺗﻮﻟﻴﺪ ﻧﺮم اﻓﺰار ﻓﺸﺎر روي ﺗﺴﺖ ﻛﻨﻨﺪه ﻫﺎ را اﻓﺰاﻳﺶ ﻣﻲ دﻫﺪ‪.‬‬ ‫‪‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﻨﺘﺮﻟﻲ ﺗﻌﺒﻴﻪ ﺷﺪه‬ ‫‪‬‬
‫• ﻫﻮاﭘﻴﻤﺎﻫﺎ‪،‬ﻛﻨﺘﺮل ﺗﺮاﻓﻴﻚ ﻫﻮاﻳﻲ‬
‫• ‪PDAs‬‬
‫ﺻﻨﺪﻟﻴﻬﺎي ﺣﺎﻓﻈﻪ دارر‬
‫ﻬ‬ ‫•‬ ‫• ﺳﻔﻴﻨﻪ ﻫﺎي ﻓﻀﺎﻳﻲ‬
‫• دﺳﺘﮕﺎه ﻫﺎي ‪DVD‬‬ ‫• ﺳﺎﻋﺖ ﻫﺎ‬
‫• ﺑﺎزﻛﻨﻨﺪه ﻫﺎي درب ﮔﺎراژ‬ ‫• اﺟﺎق ﻫﺎي ﻓﺮ‬
‫‪١٠‬‬ ‫• ﺗﻠﻔﻦ ﻫﺎي ﻫﻤﺮاه‬ ‫• رﻳﻤﻮت ﻛﻨﺘﺮل ﻫﺎ‬
‫ﺗﺴﺖ در ﻗﺮن ‪21‬‬

‫ﻧﺮم اﻓﺰارﻫﺎي ﺑﻼدرﻧﮓ و اﻳﻤﻦ‪ ،‬ﺑﻴﺸﺘﺮ ﺷﺪه اﻧﺪ‪.‬‬ ‫‪‬‬


‫ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﺳﺎزﻣﺎﻧﻲ ﺑﻪ ﻣﻌﻨﺎي ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﺑﺰرﮔﺘﺮ و ﻛﺎرﺑﺮان ﺑﻴﺸﺘﺮ اﺳﺖ‪.‬‬ ‫‪‬‬
‫ﻧﺮم اﻓﺰار ﻫﺎي ﺗﻌﺒﻴﻪ ﺷﺪه در ﻫﻤﻪ ﺟﺎ ﻣﻮﺟﻮد ﻫﺴﺘﻨﺪ‪.‬‬ ‫‪‬‬
‫ﻢ ﻫﺴﺖ‪.‬‬
‫ﺑﻴﺸﺘﺮﺮ ﻫﻢ‬
‫ن ﺑﻴ‬
‫راﻳﮕﺎن‬
‫اﻓﺰارﻫﺎي ر ﻳ‬
‫ﻧﺮم ﺰ ر ي‬ ‫اﻧﺘﻈﺎرات ﻣﺎ ازز ﺮم‬
‫ر‬ ‫آﻣﻴﺰي‪،‬‬
‫ﺗﻨﺎﻗﺾ ﻴﺰي‬
‫ﻃﻮر ﺾ‬ ‫ﺑﺑﻪ ﻮر‬ ‫‪‬‬
‫در ﺣﺎل ﺣﺎﺿﺮ اﻣﻨﻴﺖ ﺗﻤﺎﻣﺎً ﻣﺮﺑﻮط ﺑﻪ ﻧﻘﺺ ﻫﺎي ﻧﺮم اﻓﺰار اﺳﺖ‪.‬‬ ‫‪‬‬
‫• ﻧﺮم اﻓﺰار اﻣﻦ‪ ،‬ﻧﺮم اﻓﺰاري ﻗﺎﺑﻞ اﻃﻤﻴﻨﺎن اﺳﺖ‪.‬‬
‫‪، web‬ﻳﻚ ﺳﻜﻮي ﺟﺪﻳﺪ ﺑﺮاي اﺳﺘﻘﺮار ﺑﺮﻧﺎﻣﻪ ﻫﺎ اراﺋﻪ ﻛﺮده اﺳﺖ‪.‬‬ ‫‪‬‬
‫• ﺑﺮاي ﻛﺎرﺑﺮان ﺑﺴﻴﺎر دﺳﺘﺮس ﭘﺬﻳﺮ و ﻧﻴﺰ ﺑﺴﻴﺎر رﻗﺎﺑﺘﻲ اﺳﺖ‪.‬‬
‫• ﺑﺮﻧﺎﻣﻪ ﻫﺎي ﻛﺎرﺑﺮدي وب‪،‬ﺗﻮزﻳﻊ ﺷﺪه ﻫﺴﺘﻨﺪ‪.‬‬
‫ﺑﺎﺷﻨﺪ‪.‬‬
‫اﻃﻤﻴﻨﺎن ﺎﺷ‬
‫ﻞ اﻃ ﺎ‬ ‫ﻗﺎﺑﻞ‬‫زﻳﺎدي ﻗﺎ‬
‫ﻛﺎرﺑﺮدي وب‪ ،‬ﺎﺑﺎﻳﺪ ﺗﺎ ﺣﺪ ﺎ‬ ‫ﻫﺎي ﻛﺎ‬ ‫• ﻧﺎ‬
‫ﺑﺮﻧﺎﻣﻪ ﺎ‬

‫ﺻﻨﻌﺖ ﺑﺎ ﻧﺎ اﻣﻴﺪي‪ ،‬ﺑﻪ اﺧﺘﺮاﻋﺎت ﻧﺮم اﻓﺰاري ﻣﺎ ﻧﻴﺎزﻣﻨﺪ اﺳﺖ!‬

‫‪١١‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻋﺪم ﺗﻄﺎﺑﻖ در ﻧﻴﺎزﻫﺎ و اﻫﺪاف‬

‫ﺻﻨﻌﺖ راﻏﺐ ﺑﻪ آن اﺳﺖ ﻛﻪ ﺗﺴﺖ ﻛﺮدن ﺳﺎده و آﺳﺎن ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬


‫• آزﻣﻮﻧﮕﺮان ﻧﻴﺎزي ﺑﻪ داﻧﺶ ﭘﻴﺶ زﻣﻴﻨﻪ در ﻛﺎﻣﭙﻴﻮﺗﺮ و رﻳﺎﺿﻴﺎت ﻧﺪاﺷﺘﻪ ﺑﺎﺷﻨﺪ‪.‬‬

‫داﻧﺸﮕﺎه ﻫﺎ در ﺣﺎل ﻓﺎرغ اﻟﺘﺤﺼﻴﻞ ﻛﺮدن داﻧﺸﻤﻨﺪان ﻫﺴﺘﻨﺪ‪.‬‬ ‫‪‬‬


‫• ﺻﻨﻌﺖ ﺑﻪ ﻣﻬﻨﺪﺳﺎن ﻧﻴﺎزﻣﻨﺪ اﺳﺖ‪.‬‬

‫ﻧﻴﺎز اﺳﺖ ﻛﻪ ﺗﺴﺖ ﻫﺎ ﺑﺎ ﺳﺨﺘﮕﻴﺮي و دﻗﺖ ﺑﻴﺸﺘﺮي اﻧﺠﺎم ﺷﻮﻧﺪ‪.‬‬ ‫‪‬‬


‫ﻓﺮاﻳﻨﺪﻫﺎي ﭼﺎﺑﻚ ﺗﻮﻗﻌﺎت زﻳﺎدي از ﺗﺴﺖ دارﻧﺪ‪.‬‬ ‫‪‬‬
‫• ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺲ ﻫﺎ ﺑﺎﻳﺪ ﺗﺴﺖ واﺣﺪ )‪ (unit‬اﻧﺠﺎم دﻫﻨﺪ؛ آن ﻫﻢ ﺑﺪون ﻧﻴﺎز ﺑﻪ آﻣﻮزش‪ ،‬ﺗﺤﺼﻴﻞ ﻳﺎ‬
‫اﺑﺰار‬
‫ﺗﺴﺖ ﻫﺎ ﻣﻮﻟﻔﻪ ﻫﺎﻳﻲ ﻛﻠﻴﺪي در ﻧﻴﺎزﻣﻨﺪي ﻫﺎي ﻛﺎرﻛﺮدي ﻫﺴﺘﻨﺪ ‪ -‬اﻣﺎ ﭼﻪ ﻛﺴﻲ ﭼﻨﻴﻦ‬ ‫•‬
‫ﺗﺴﺖﻫﺎﻳﻲ را اﻳﺠﺎد ﻣﻲﻛﻨﺪ؟‬

‫ﺣﺎﺻﻞ‪ :‬ﺗﻌﺪاد زﻳﺎدي ﻧﺮم اﻓﺰار ﻣﺸﻜﻞ دار‬

‫‪١٢‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻫﺰﻳﻨﻪ ﺗﺴﺖ‬

‫ﺧﻮاه ﻳﺎ ﻧﺎﺧﻮاه‪ ،‬ﺣﺪاﻗﻞ ﻧﺼﻒ ﺑﻮدﺟﻪ ﺗﻮﺳﻌﻪ روي ﺗﺴﺖ ﻛﺮدن ﺻﺮف ﺧﻮاﻫﺪ ﺷﺪ!‬

‫در دﻧﻴﺎي واﻗﻌﻲ ‪ ،‬ﺗﺴﺖ ﻛﺮدن ﻳﻚ ﻓﻌﺎﻟﻴﺖ اﺳﺎﺳﻲ ﭘﺲ از ﻃﺮاﺣﻲ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬

‫را اﻓﺰاﻳﺶ ﻣﻣﻲ دﻫﺪ‬


‫ﻣﻌﻤﻮﻻ ﻫﺰﻳﻨﻪ ا‬
‫ﺗﺴﺖ زودﻫﻨﮕﺎم ﻣﻌﻤﻮﻻً‬
‫ﻛﺮدن ﺗ ﺖ‬
‫ﻣﺤﺪود ﻛ دن‬ ‫‪‬‬

‫ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي وﺳﻴﻊ ﺳﺨﺖ اﻓﺰار‪-‬ﻧﺮم اﻓﺰار‪ ،‬ﻧﻴﺎزﻣﻨﺪ ﺗﺴﺖ ﺑﻴﺸﺘﺮي اﺳﺖ‪.‬‬ ‫‪‬‬

‫‪١٣‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺳﺆال اول‪ :‬ﭼﺮا ﺗﺴﺖ؟‬

‫در ﺻﻮرﺗﻲ ﻛﻪ ﻧﺪاﻧﻴﺪ ﭼﺮا در ﺣﺎل ﺗﻬﻴﻪ ﻳﻚ ﺗﺴﺖ‬


‫ﻧﺨﻮاﻫﺪ ﺑﻮد!‬
‫ﻣﻔﻴﺪ ﻧﺨ ا‬
‫ﭼﻨﺪان ﻔ‬
‫ا‬ ‫ﻫﺴﺘﻴﺪ‪،‬آن ﺗﺗﺴﺖ‬
‫آ‬

‫ﺷﻮد‪.‬‬
‫ﻣﻲ ﻮ‬
‫اﻳﺠﺎد ﻲ‬
‫ﻧﺪرت ﻳﺠ‬
‫ﻮب ﺗﺴﺖ ﺑﺑﻪ ر‬
‫ي ﻣﻜﺘﻮب‬
‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي‬
‫اﻫﺪاف و ﻴ ز ﻳﻬ‬ ‫‪‬‬

‫ﺳﻄﺢ ﭘﻮﺷﺶ ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﺷﺪه ﺷﻤﺎ در ﭘﺮوژه ﭼﻴﺴﺖ؟‬ ‫‪‬‬

‫ﭼﻘﺪر ﺗﺴﺖ ﻛﺎﻓﻲ اﺳﺖ؟‬ ‫‪‬‬

‫ﻫﺪف ﻣﺸﺘﺮك ‪ -‬ﺻﺮف ﺑﻮدﺟﻪ ‪...‬‬ ‫‪‬‬

‫‪١٤‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﭼﺮا ﺗﺴﺖ؟‬

‫در ﺻﻮرﺗﻲ ﻛﻪ ﻗﺒﻞ از ﻫﺮ ﺗﺴﺖ‪ ،‬وﻗﺘﻲ ﻧﻴﺎزﻣﻨﺪي ﻫﺎي ﻛﺎرﻛﺮدي ﺷﻜﻞ ﮔﺮﻓﺘﻪ اﻧﺪ‪ ،‬ﺷﺮوع ﺑﻪ ﺑﺮﻧﺎﻣﻪ‬
‫رﻳﺰي ﻛﺮدن ﺑﺮاي آآن ﻧﻜﺮده ﺑﺎﺷﻴﺪ‪ ،‬ﻫﻴﭽﮕﺎه ﻧﺨﻮاﻫﻴﺪ داﻧﺴﺖ ﻛﻪ ﭼﺮا ﺗﺴﺖ را اﻧﺠﺎم ﻣﻲ دﻫﻴﺪ‪.‬‬

‫ﺳﺎل ‪ :1980‬ﻧﺮم اﻓﺰار ﺑﺎﻳﺪ ﺑﻪ راﺣﺘﻲ ﻗﺎﺑﻞ ﻧﮕﻬﺪاري ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬

‫ﭼﻘﺪر اﺳﺖ؟‬
‫اﻃﻤﻴﻨﺎن ﭼﻘﺪ‬
‫ﻗﺎﺑﻠﻴﺖ اﻃﻤ ﻨﺎن‬
‫ﺎزﻣﻨﺪي ﻫﺎي ﻗﺎﺑﻠ ﺖ‬
‫آﺳﺘﺎﻧﻪ ﻧﻧﻴﺎزﻣﻨﺪي‬ ‫‪‬‬

‫ﻫﺮ ﺗﺴﺖ در ﺣﺎل ﺗﻼش ﺑﺮاي ﺗﺼﺪﻳﻖ ﭼﻪ ﺣﻘﻴﻘﺘﻲ اﺳﺖ؟‬ ‫‪‬‬

‫ﺗﻴﻢ ﻫﺎي ﺗﻌﺮﻳﻒ ﻧﻴﺎزﻣﻨﺪﻳﻬﺎ‪ ،‬ﺑﺎﻳﺪ ﺷﺎﻣﻞ آزﻣﻮﻧﮕﺮان ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬

‫‪١٥‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻫﺰﻳﻨﻪ ﻫﺎي ﺗﺴﺖ ﻧﻜﺮدن‬

‫ﻣﺪﻳﺮان اﻏﻠﺐ ﻣﻲ ﮔﻮﻳﻨﺪ‪ :‬ﺗﺴﺖ ﺑﻴﺶ از ﺣﺪ ﮔﺮان اﺳﺖ‪.‬‬

‫ن ﺗﺮﺮ اﺳﺖ‪.‬‬
‫ﮔﺮان‬
‫ﺐ ﺮ‬‫ﻣﺮاﺗﺐ‬
‫ﻧﻜﺮدن ﺑﺑﻪ ﺮ‬
‫ﺗﺴﺖ ﺮ ن‬ ‫‪‬‬

‫ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﺑﺮاي ﺗﺴﺖ ﭘﺲ از ﺗﻮﺳﻌﻪ ﺑﻪ ﻃﺮز ﻣﻤﺎﻧﻌﺖ ﻛﻨﻨﺪه اي ﮔﺮان اﺳﺖ‪.‬‬ ‫‪‬‬

‫ﻳﻚ اﻳﺴﺘﮕﺎه ﺗﺴﺖ ﺑﺮاي ﺑﺮدﻫﺎي ﻣﺪاري ﻫﺰﻳﻨﻪ ﻧﻴﻢ ﻣﻴﻠﻴﻮن دﻻري دارد‪.‬‬ ‫‪‬‬

‫اﺑﺰار ﻫﺎي ﺗﺴﺖ ﻧﺮم اﻓﺰار ﻣﻌﻤﻮﻻً ﻛﻤﺘﺮ از ‪ 10.000‬دﻻر ﻫﺴﺘﻨﺪ‪.‬‬ ‫‪‬‬

‫‪١٦‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻫﺸﺪار‪ :‬اﺛﺮ اﺑﺰارﻫﺎ و ﺗﻜﻨﻴﻚ ﻫﺎي ﺟﺪﻳﺪ‬
‫ﻧﻪ‪ .‬ﻣﻦ ﻫﻤﻴﻦ ﺣﺎﻻ ﻫﻢ ﺑﻪ‬
‫ﻫﻤﻮن ﺧﻮﺑﻲ ﻛﻪ ﻣﻲ دوﻧﻢ‪،‬‬
‫اﻣﺮوز ﻋﺼﺮ ﻳﻚ راه ﺟﺪﻳﺪ ﺑﺮاي ﺷﺨﻢ زدن ﻳﺎد‬
‫ﻢ!‬
‫ﻲ ززﻧﻢ‬
‫ﻢ ﻧﻤﻲ‬
‫ﺷﺨﻢ‬
‫ﻣﻴﺪن – ﺗﻮ ﻫﻢ ﺎ ؟‬
‫ﻣﻴﺎﻳﻲ؟‬

‫»داﻧﺴﺘﻦ ﻛﺎﻓﻲ ﻧﻴﺴﺖ‪ ،‬ﺑﺎﻳﺪ ﻋﻤﻞ ﻛﻨﻴﻢ‪ .‬ﺧﻮاﺳﺘﻦ ﻛﺎﻓﻲ ﻧﻴﺴﺖ‪ ،‬ﺑﺎﻳﺪ ﻛﺎرﻫﺎرا اﻧﺠﺎم دﻫﻴﻢ«‬
‫‪-Goethe‬‬

‫‪١٧‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺳﺆال دوم‪ :‬ﭼﻪ ﻛﺎري؟‬

‫اﻣﺎ ‪ ...‬ﭼﻪ ﻛﺎري ﺑﺎﻳﺪ اﻧﺠﺎم دﻫﻴﻢ؟‬

‫ي ﺗﺴﺖ‬
‫ﻓﻌﺎﻟﻴﺖ ﻫﺎي‬
‫ع ﻴ‬ ‫اﻧﻮاع‬
‫ﻮ‬ ‫‪.1‬‬

‫اﺻﻄﻼﺣﺎت ﺗﺴﺖ ﻧﺮم اﻓﺰاري‬ ‫‪.2‬‬

‫ﺗﻐﻴﻴﺮ ﻣﻔﺎﻫﻴﻢ ﺗﺴﺖ‬ ‫‪.3‬‬


‫• ﻣﻌﻴﺎرﻫﺎي ﭘﻮﺷﺶ ﺗﺴﺖ‬
‫• ﻣﻌﻴﺎرﻫﺎﻳﻲ ﻛﻪ ﺑﺮ اﺳﺎس ﺳﺎﺧﺘﺎرﻫﺎ ﻫﺴﺘﻨﺪ‬

‫‪١٨‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫اﻧﻮاع ﻓﻌﺎﻟﻴﺘﻬﺎي ﺗﺴﺖ‬

‫ﺗﺴﺖ را ﻣﻲ ﺗﻮان ﺑﻪ ﭼﻬﺎر ﻧﻮع ﻛﻠﻲ از ﻟﺤﺎظ ﻓﻌﺎﻟﻴﺖ ﻫﺎ ﺗﻘﺴﻴﻢ ﺑﻨﺪي ﻛﺮد‪:‬‬ ‫‪‬‬

‫‪ (a.1‬ﺑﺮ اﺳﺎس ﻣﻌﻴﺎرﻫﺎ‬ ‫‪ .1‬ﻃﺮاﺣﻲ ﺗﺴﺖ‬ ‫‪1‬‬


‫‪ (b.1‬ﺑﺮ اﺳﺎس اﻧﺴﺎن‬ ‫‪ .2‬ﺧﻮدﻛﺎر ﺳﺎزي ﺗﺴﺖ‬
‫ي ﺗﺴﺖ‬ ‫‪ .3‬ﺟﺮ‬
‫اﺟﺮاي‬
‫‪ .4‬ارزﻳﺎﺑﻲ ﺗﺴﺖ‬
‫ﻫﺮ ﻧﻮﻋﻲ از ﻓﻌﺎﻟﻴﺖ ﻧﻴﺎزﻣﻨﺪ ﻣﻬﺎرت ﻫﺎي ﻣﺨﺘﻠﻒ‪ ،‬داﻧﺶ ﭘﻴﺶ زﻣﻴﻨﻪ‪،‬ﺗﺤﺼﻴﻼت و آﻣﻮزش اﺳﺖ‪.‬‬ ‫‪‬‬
‫ﻛﺎرﻫﺎ‪ ،‬ﺷﺎﻣﻞ‪:‬‬
‫اي اﻧﻮاع ﻣﺨﺘﻠﻒ ﻛﺎرﻫﺎ‬
‫اد ﻳﻜﺴﺎن ﺑﺑﺮاي‬
‫اﻓﺮاد‬
‫ﻣﻌﻤﻮﻟﻲ از اﻓ‬
‫ﻫﻴﭻ ﺳﺎزﻣﺎن ﺗﻮﺳﻌﻪ ﻧﻧﺮمم اﻓﺰار ﻣﻌﻤﻮﻟ‬ ‫‪‬‬
‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎ‪ ،‬ﻃﺮاﺣﻲ‪ ،‬ﭘﻴﺎده ﺳﺎزي‪ ،‬ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي و ﻛﻨﺘﺮل ﭘﻴﻜﺮ ﺑﻨﺪي اﺳﺘﻔﺎده ﻧﻤﻲﻛﻨﺪ‪.‬‬

‫ﭼﺮا ﺳﺎزﻣﺎن ﻫﺎي ﺗﺴﺖ ‪ ،‬ﻫﻨﻮز از اﻓﺮاد ﻳﻜﺴﺎن ﺑﺮاي ﺗﻤﺎم ﻓﻌﺎﻟﻴﺖ ﻫﺎي ﺗﺴﺖ اﺳﺘﻔﺎده ﻣﻲﻛﻨﻨﺪ؟‬
‫اﻳﻦ ﻛﺎر ﺑﻪ وﺿﻮح‪ ،‬ﻫﺪر دادن ﻣﻨﺎﺑﻊ اﺳﺖ‪.‬‬

‫‪١٩‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .1‬ﻃﺮاﺣﻲ ﺗﺴﺖ – )‪ (a‬ﺑﺮ اﺳﺎس ﻣﻌﻴﺎرﻫﺎ‬

‫ﻃﺮاﺣﻲ ﺗﺴﺖ ﺑﺮاي ﺑﺮآورده ﻛﺮدن ﻣﻌﻴﺎرﻫﺎي ﭘﻮﺷﺶ ﻳﺎ دﻳﮕﺮ اﻫﺪاف ﻣﻬﻨﺪﺳﻲ‪ ،‬ارزﺷﻤﻨﺪ اﺳﺖ‪.‬‬

‫اﻓﺰارر اﺳﺖ‬
‫ﺮم ﺰ‬‫ﺮﻳﻦ ﻛﺎرر درر ﺗﺴﺖ ﻧﺮم‬
‫ﻲ ﺗﺮﻳﻦ‬
‫ﺗﻜﻨﻴﻜﻲ‬
‫اﻳﻦ ﻛﺎرر ﻴ‬‫ﻳﻦ‬ ‫‪‬‬
‫ﻧﻴﺎزﻣﻨﺪ داﻧﺶ در اﻳﻦ زﻣﻴﻨﻪ ﻫﺎﺳﺖ‬ ‫‪‬‬
‫• رﻳﺎﺿﻴﺎت ﮔﺴﺴﺘﻪ‬
‫ﻧﻮﻳﺴﻲ‬ ‫• ﺑﺑﺮﻧﺎﻣﻪ‬
‫ﻧﺎﻣﻪ ﻧﻮﻳ‬
‫• ﺗﺴﺖ‬
‫ﻃﺮاﺣﻲ ﺗﺴﺖ ‪،‬ﻧﻴﺎزﻣﻨﺪ ﻣﺪرك ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ ﻣﻌﻤﻮﻟﻲ اﺳﺖ‪.‬‬ ‫‪‬‬
‫اﻳﻦ ﻛﺎر از ﻧﻈﺮ ﻓﻜﺮي ﻓﻌﺎﻟﻴﺘﻲ ﭼﺎﻟﺶ ﺑﺮ اﻧﮕﻴﺰ و ﭘﺎداش دﻫﻨﺪه اﺳﺖ‪.‬‬ ‫‪‬‬
‫ﻃﺮاﺣﻲ ﺗﺴﺖ در ﺗﻮﺳﻌﻪ‪ ،‬ﺑﺎ ﻣﻌﻤﺎري ﻧﺮم اﻓﺰار ﻗﺎﺑﻞ ﻣﻘﺎﻳﺴﻪ اﺳﺖ‪.‬‬ ‫‪‬‬
‫ﻲ ﺗﻮاﻧﺪ ﻣﻮﺟﺐ‬
‫ﻃﺮاﺣﻲ ﺗﺴﺖ ﻣﻬﺎرت ﻧﺪارﻧﺪ‪ ،‬ﻣﻲ‬
‫ﻲ‬ ‫ﻗﻄﻌﺎً ﺑﻪ ﻛﺎر ﮔﻴﺮي اﻓﺮادي ﻛﻪ در زﻣﻴﻨﻪ ي‬ ‫‪‬‬
‫ﺗﻮﻟﻴﺪ ﺗﺴﺖ ﻫﺎﻳﻲ ﺷﻮد ﻛﻪ اﺛﺮﺑﺨﺶ ﻧﺨﻮاﻫﻨﺪ ﺑﻮد‪.‬‬

‫‪٢٠‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .1‬ﻃﺮاﺣﻲ ﺗﺴﺖ ﺑﺮ اﺳﺎس اﻧﺴﺎن)‪(b‬‬

‫ﻃﺮاﺣﻲ ﻣﻘﺎدﻳﺮ ﺗﺴﺖ ﺑﺮ اﺳﺎس داﻧﺶ درﺑﺎره داﻣﻨﻪ ﺑﺮﻧﺎﻣﻪ و داﻧﺶ اﻧﺴﺎﻧﻲ از ﺗﺴﺖ‬

‫اﻳﻦ روش از آﻧﭽﻪ ﻛﻪ ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن ﻓﻜﺮ ﻣﻲ ﻛﻨﻨﺪ ‪ ،‬ﺑﺴﻴﺎر ﺳﺨﺖﺗﺮ اﺳﺖ‪.‬‬ ‫‪‬‬
‫ﻧﻴﺴﺘﻨﺪ‪.‬‬‫ﻗﺎﺑﻞ اﺳﺘﻔﺎده ﻴ‬
‫ﺷﺮاﻳﻂ ﺑﻞ‬
‫ﻲ ازز ﺮ ﻳ‬
‫ﺑﺮﺧﻲ‬
‫ي ﺑﺮ‬
‫ﺑﺮاي‬
‫ﻲ ﺑﺮ‬
‫ﻣﻌﻴﺎرﻫﺎ ﮔﺎﻫﻲ‬
‫ﻲ ﺑﺮ ﻴ ر‬
‫ﻣﺒﺘﻨﻲ‬‫ي ﺒ‬‫روش ﻫﺎي‬ ‫‪‬‬
‫ﻧﻴﺎزﻣﻨﺪ داﻧﺶ در زﻣﻴﻨﻪ ﻫﺎي زﻳﺮ اﺳﺖ‪:‬‬ ‫‪‬‬
‫• داﻣﻨﻪ‪،‬ﺗﺴﺖ‪ ،‬و واﺳﻂ ﻫﺎي ﻛﺎرﺑﺮي‬
‫ﻧﺪارد‪.‬‬
‫ﻧﻴﺎز ﻧﺪا د‬
‫ﺳﻨﺘﻲ ﻧ ﺎز‬
‫ي ﺳﻨﺘ‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮي‬
‫ﻋﻠﻢ ﻛﺎﻣ ﻮﺗ‬
‫ﭻ ﻋﻠ‬
‫ﺗﻘﺮﻳﺒﺎ ﺑﻪ ﻫﻫﻴﭻ‬
‫ﺗﻘ ﻳ ﺎً‬ ‫‪‬‬
‫• ﭘﻴﺶ زﻣﻴﻨﻪ در داﻣﻨﻪ ﻧﺮم اﻓﺰار ﺿﺮوري اﺳﺖ‪.‬‬
‫• ﭘﻴﺶ زﻣﻴﻨﻪ ﺗﺠﺮﺑﻲ ﺑﺴﻴﺎر ﻣﻔﻴﺪ اﺳﺖ )ﻣﺜﻼ زﻳﺴﺖ ﺷﻨﺎﺳﻲ‪ ،‬رواﻧﺸﻨﺎﺳﻲ و‪.(...‬‬
‫• ﭘﻴﺶ زﻣﻴﻨﻪ ﻣﻨﻄﻘﻲ ﺑﺴﻴﺎر ﻣﻔﻴﺪ اﺳﺖ )ﻣﺜﻞ ﺣﻘﻮق‪ ،‬ﻓﻠﺴﻔﻪ‪ ،‬رﻳﺎﺿﻴﺎت و‪.(..‬‬
‫ﻃﺮاﺣﻲ ﺗﺴﺖ‪ ،‬از ﻧﻈﺮ ﻓﻜﺮي ﭼﺎﻟﺶ ﺑﺮاﻧﮕﻴﺰ‪ ،‬و ﭘﺎداش دﻫﻨﺪه اﺳﺖ‪.‬‬ ‫‪‬‬
‫• اﻣﺎ ﻧﻪ ﺑﺮاي رﺷﺘﻪ ﻫﺎي ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ زﻳﺮا اﻳﻦ اﻓﺮاد ﻫﺪﻓﺸﺎن ﺣﻞ ﻣﺴﺌﻠﻪ و ﺳﺎﺧﺘﻦ‬
‫ﭼﻴﺰﻫﺎ اﺳﺖ‪.‬‬

‫‪٢١‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .2‬ﺧﻮدﻛﺎرﺳﺎزي ﺗﺴﺖ‬

‫ﺗﻌﺒﻴﻪ ﻣﻘﺎدﻳﺮ ﺗﺴﺖ در اﺳﻜﺮﻳﭙﺖ ﻫﺎي ﻗﺎﺑﻞ اﺟﺮا‬


‫اﻳﻦ ﻃﺮاﺣﻲ ‪ ،‬از ﻧﻈﺮ ﻓﻨﻲ و ﺗﻜﻨﻴﻜﻲ در ﺳﻄﺢ ﭘﺎﻳﻴﻦ ﻗﺮار دارد‬ ‫‪‬‬
‫ﻛﻤﻲ ﻏﻴﺮﻓﻨﻲ ﺗﺮ اﺳﺖ‪.‬‬ ‫‪‬‬
‫ﻲ اﺳﺖ‪.‬‬‫ﻧﻮﻳﺴﻲ‬
‫ﺑﺮﻧﺎﻣﻪ ﻮﻳ‬
‫ﺶ ﺑﺮ‬
‫ﻧﻴﺎزﻣﻨﺪ داﻧﺶ‬
‫ﻴز‬ ‫‪‬‬
‫• ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﻧﺴﺒﺘﺎ ﺳﺎده و ﻗﺎﺑﻞ ﻓﻬﻢ ‪ -‬ﻗﻄﻌﺎت ﻛﻮﭼﻚ ﻛﺪ و اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﺳﺎده‬
‫ﺑﻪ ﺗﺌﻮري و ﻧﻈﺮﻳﻪ ﺑﺴﻴﺎر اﻧﺪﻛﻲ ﻧﻴﺎز دارد‪.‬‬ ‫‪‬‬
‫آور اﺳﺖ‪.‬‬‫ﺎﻟﺖ آو‬
‫ﺘﻪ ﻛﻨﻨﺪه و ﻛﻛﺴﺎﻟﺖ‬
‫ﺧﺴﺘﻪ‬‫ﺑﺴﻴﺎر ﺧ‬
‫ﺗﺴﺖ‪ ،‬ﺑ ﺎ‬
‫ﻃﺮاﺣﺎن ﺗ ﺖ‬
‫ﺑﺮاي ﻃ اﺣﺎن‬
‫ﺑ اي‬ ‫‪‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺑﺮاي ﺑﺴﻴﺎري از ﻣﺘﺨﺼﺼﺎن داﻣﻨﻪ‪ ،‬دور از دﺳﺘﺮس اﺳﺖ‪.‬‬ ‫‪‬‬
‫ﭼﻪ ﻛﺴﻲ ﻣﺴﺌﻮل ﺗﻌﻴﻴﻦ و ﺗﻌﺒﻴﻪ ﻛﺮدن ﺧﺮوﺟﻲ ﻣﻮرد اﻧﺘﻈﺎر اﺳﺖ؟‬ ‫‪‬‬
‫• ﻣﻤﻜﻦ اﺳﺖ ﻃﺮاﺣﺎن ﺗﺴﺖ‪ ،‬ﻫﻤﻴﺸﻪ ﺧﺮوﺟﻲ ﻣﻮرد ﻧﻈﺮ را ﻧﺪاﻧﻨﺪ‪.‬‬
‫• ارزﻳﺎﺑﻲ ﻛﻨﻨﺪﮔﺎن ﺗﺴﺖ ﺑﺎﻳﺪ ﺑﺮاي ﻛﻤﻚ ﺑﻴﺸﺘﺮ زودﺗﺮ وارد ﻓﺮآﻳﻨﺪ ﺗﺴﺖ ﺷﻮﻧﺪ‪.‬‬

‫‪٢٢‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .3‬اﺟﺮاي ﺗﺴﺖ‬

‫اﺟﺮاي ﺗﺴﺖ روي ﻧﺮم اﻓﺰار و ﺛﺒﺖ ﻧﺘﺎﻳﺞ‬

‫اﺟﺮاي ﺗﺴﺖ ﻛﺎري آﺳﺎن اﺳﺖ – و اﮔﺮ ﻣﺮﺣﻠﻪ ﺧﻮدﻛﺎرﺳﺎزي ﺑﺨﻮﺑﻲ اﻧﺠﺎم ﺷﺪه ﺑﺎﺷﺪ‪ ،‬ﻧﺎﭼﻴﺰ و‬ ‫‪‬‬
‫ﺟﺰﻳﻲ ﻫﻢ ﻫﺴﺖ‪.‬‬
‫ﺑﻪ ﻣﻬﺎرت ﻫﺎي ﭘﺎﻳﻪ اي ﻛﺎﻣﭙﻴﻮﺗﺮ ﻧﻴﺎز دارد‪.‬‬ ‫‪‬‬
‫• ﻛﺎرآﻣﻮزان‬
‫• اﻓﺮاد ﺑﺪون ﭘﻴﺶ زﻣﻴﻨﻪ ي ﻓﻨﻲ‬
‫اﮔﺮ ﻃﺮاﺣﺎن ﺗﺴﺖ‪ ،‬آﻧﺮا اﺟﺮا ﻛﻨﻨﺪ‪ ،‬اﻳﻦ ﻛﺎر ﺣﺘﻤﺎً آﻧﻬﺎ را ﻣﺘﻘﺎﻋﺪ ﻣﻲﻛﻨﺪ ﻛﻪ ﺑﻪ دﻧﺒﺎل ﻳﻚ ﺷﻐﻞ‬ ‫‪‬‬
‫دﻳﮕﺮ در زﻣﻴﻨﻪ ﺗﻮﺳﻌﻪ ﻧﺮم اﻓﺰار ﺑﺎﺷﻨﺪ!! )ﺑﺴﻴﺎر ﻛﺴﺎﻟﺖ آور(‬
‫ﻛﺎر زﻳﺎدي ﺑﻪ ﺻﻮ ت‬
‫ﺻﻮرت‬ ‫ﺣﺠﻢ ﻛﺎ‬
‫ﺧﻮدﻛﺎر ﺳﺎزي ﻧﺸﺪه ﺑﺎﺷﻨﺪ ﺣﺠ‬ ‫ﺗﺴﺖ ﻫﺎي ‪ GUI‬ﺑﻪ ﺧﻮﺑ‬
‫ﺧﻮﺑﻲ ﺧﻮدﻛﺎ‬ ‫ﻣﺜﻼ‪ ،‬ﺗ ﺖ‬
‫اﮔﺮ‪ ،‬ﻣﺜﻼً‬
‫اﮔ‬ ‫‪‬‬
‫دﺳﺘﻲ ﺑﺎﻳﺪ اﻧﺠﺎم ﺷﻮد‪.‬‬
‫ﻣﺠﺮﻳﺎن ﺗﺴﺖ ﺑﺎﻳﺪ دﻗﺖ ﺑﺎﻻﻳﻲ داﺷﺘﻪ و در ﺛﺒﺖ ﻧﺘﺎﻳﺞ ﺑﺴﻴﺎر دﻗﻴﻖ و ﺑﺎرﻳﻚ ﺑﻴﻦ ﺑﺎﺷﻨﺪ‪.‬‬ ‫‪‬‬

‫‪٢٣‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .4‬ارزﻳﺎﺑﻲ ﺗﺴﺖ‬

‫ارزﻳﺎﺑﻲ ﻧﺘﺎﻳﺞ ﺣﺎﺻﻞ از آزﻣﺎﻳﺶ‪ ،‬ﮔﺰارش ﺑﻪ ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن‬


‫ﺑﺴﻴﺎر ﺳﺨﺖ ﺗﺮ از آن اﺳﺖ ﻛﻪ ﺑﻪ ﻧﻈﺮ ﻣﻲ رﺳﺪ‪.‬‬ ‫‪‬‬
‫ﻧﻴﺎز ﺑﻪ داﻧﺶ‪:‬‬ ‫‪‬‬
‫• داﻣﻨﻪ‬
‫• آزﻣﺎﻳﺶ ﻛﺮدن‬
‫• واﺳﻂ ﻛﺎرﺑﺮي و رواﻧﺸﻨﺎﺳﻲ‬
‫ﻧﺪارد‪.‬‬
‫ﻧﻴﺎز ﻧﺪا د‬
‫ﺳﻨﺘﻲ ﻧ ﺎز‬
‫ي ﺳﻨﺘ‬
‫ﻛﺎﻣﭙﻴﻮﺗﺮي‬
‫ﻋﻠﻢ ﻛﺎﻣ ﻮﺗ‬
‫ﭻ ﻋﻠ‬
‫ﺗﻘﺮﻳﺒﺎ ﺑﻪ ﻫﻫﻴﭻ‬
‫ﺗﻘ ﻳ ﺎً‬ ‫‪‬‬
‫• ﭘﻴﺶ زﻣﻴﻨﻪ در داﻣﻨﻪ ﻧﺮم اﻓﺰار ﺿﺮوري اﺳﺖ‪.‬‬
‫• ﭘﻴﺶ زﻣﻴﻨﻪ ﺗﺠﺮﺑﻲ ﺑﺴﻴﺎر ﻣﻔﻴﺪ اﺳﺖ )ﻣﺜﻼ زﻳﺴﺖ ﺷﻨﺎﺳﻲ‪ ،‬رواﻧﺸﻨﺎﺳﻲ و‪.(...‬‬
‫• ﭘﻴﺶ زﻣﻴﻨﻪ ﻣﻨﻄﻘﻲ ﺑﺴﻴﺎر ﻣﻔﻴﺪ اﺳﺖ )ﻣﺜﻞ ﺣﻘﻮق‪ ،‬ﻓﻠﺴﻔﻪ‪ ،‬رﻳﺎﺿﻴﺎت و‪.(..‬‬
‫اﻳﻦ ﻛﺎر از ﻧﻈﺮ ﻓﻜﺮي ﭼﺎﻟﺶ ﺑﺮاﻧﮕﻴﺰ‪ ،‬و ﭘﺎداش دﻫﻨﺪه اﺳﺖ‪.‬‬ ‫‪‬‬
‫• اﻣﺎ ﻧﻪ ﺑﺮاي رﺷﺘﻪ ﻫﺎي ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ زﻳﺮا اﻳﻦ اﻓﺮاد ﻫﺪﻓﺸﺎن ﺣﻞ ﻣﺴﺌﻠﻪ و ﺳﺎﺧﺘﻦ‬
‫ﭼﻴﺰﻫﺎ اﺳﺖ‪.‬‬

‫‪٢٤‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺳﺎﻳﺮ ﻓﻌﺎﻟﻴﺘﻬﺎ‬

‫ﻣﺪﻳﺮﻳﺖ ﺗﺴﺖ‪ :‬ﺗﻌﻴﻴﻦ ﺧﻂ ﻣﺸﻲ ﻫﺎ‪ ،‬ﺳﺎزﻣﺎﻧﺪﻫﻲ ﺗﻴﻢ‪ ،‬ارﺗﺒﺎط ﺑﺎ ﺗﻴﻢ ﺗﻮﺳﻌﻪ‪ ،‬اﻧﺘﺨﺎب ﻣﻌﻴﺎرﻫﺎ‪،‬‬ ‫‪‬‬
‫ﻧﻴﺎز و ‪...‬‬
‫ﺳﺎزي ﻣﻮرد ﻧ ﺎ‬
‫ﺧﻮدﻛﺎر ﺎ‬
‫ﻣﻴﺰان ﺧ ﻛﺎ‬
‫ﺗﺗﻌﻴﻴﻦ ا‬

‫ﻧﮕﻬﺪاري ﺗﺴﺖ‪ :‬ﺗﺴﺖ ﺑﺎﻳﺪ ﺑﺮاي اﺳﺘﻔﺎده ﻣﺠﺪد در ﻃﻲ ﺗﻜﺎﻣﻞ ﻧﺮم اﻓﺰار ذﺧﻴﺮه ﺷﻮد‪.‬‬ ‫‪‬‬
‫• ﻧﻴﺎز ﺑﻪ ﻫﻤﻜﺎري ﻃﺮاﺣﺎن آزﻣﻮن و ﺧﻮدﻛﺎرﺳﺎزان آزﻣﻮن‬
‫• ﺗﺼﻤﻴﻢ ﮔﻴﺮي در ﻣﻮرد زﻣﺎن ﺣﺬف ﻣﺠﻤﻮﻋﻪ ﻫﺎي ﺗﺴﺖ ﺗﺎ ﺣﺪودي ﻣﺮﺑﻮط ﺑﻪ ﺧﻂ ﻣﺸﻲ‬
‫ﺑﺴﻴﺎرر ﺳﺨﺖ اﺳﺖ!‬‫ﻛﻠﻲ‪ ،‬ﺑ ﻴ‬
‫ﻮر ﻲ‬‫ﻲ اﺳﺖ ‪ -‬و ﺑﺑﻪ ﻃﻮر‬‫ﻴﺰ ﻓﻨﻲ‬
‫ي ﻧﻴﺰ‬
‫ﺣﺪودي‬
‫ﻫﺎ ووﺗﺎ و‬
‫• آزﻣﻮن ﺑﺎﻳﺪ در ﻓﺮاﻳﻨﺪ ﻛﻨﺘﺮل ﭘﻴﻜﺮﺑﻨﺪي وارد ﺷﻮد‪.‬‬
‫ﻣﺴﺘﻨﺪﺳﺎزي ﺗﺴﺖ‪ :‬ﺗﻤﺎم ﻃﺮﻓﻬﺎ ﺑﺎﻳﺪ ﻣﺸﺎرﻛﺖ ﻛﻨﻨﺪ‪.‬‬ ‫‪‬‬
‫• ﺑﺮاي ﻫﺮ آزﻣﻮن ﺑﺎﻳﺪ ﭘﺎﺳﺦ ﺑﻪ ﺳﻮال »ﭼﺮا« ﻣﺴﺘﻨﺪ ﺷﻮد‪ -‬دﻟﻴﻞ اﻧﺘﺨﺎب ﻣﻌﻴﺎرﻫﺎ و‬
‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آزﻣﻮن ﻛﻪ ﺑﺮآورده ﺷﺪه اﻧﺪ؛ ﻳﺎ دﻟﻴﻞ ﻣﻨﻄﻘﻲ ﺑﺮاي آزﻣﻮﻧﻬﺎي ﻃﺮاﺣﻲ ﺷﺪه‬
‫ﺗﻮﺳﻂ اﻧﺴﺎن‬
‫ﺗﻀﻤﻴﻦ ﺷﻮد‪.‬‬
‫ﻓﺮاﻳﻨﺪ ﺑﺎﻳﺪ ﺗﻀﻤ ﻦ‬
‫ﺳﺮاﺳﺮ ﻓ اﻳﻨﺪ‬
‫ردﻳﺎﺑﻲ ددر ﺳ اﺳ‬ ‫• ﻗﺎﺑﻠ ﺖ‬
‫ﻗﺎﺑﻠﻴﺖ دﻳﺎﺑ‬
‫• ﻣﺴﺘﻨﺪات ﺑﺎﻳﺪ در ﻛﻨﺎر ﺗﺴﺖ ﻫﺎي ﺧﻮدﻛﺎر ﺳﺎزي ﺷﺪه ﻧﮕﻬﺪاري ﺷﻮد‪.‬‬
‫‪٢٥‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﻌﺪاد ﺗﻘﺮﻳﺒﻲ ﭘﺮﺳﻨﻞ‬

‫در ﻳﻚ ﺳﺎزﻣﺎن آزﻣﻮن ﺑﺎﻟﻎ‪ :‬ﺗﻨﻬﺎ ﻳﻚ ﻃﺮاح آزﻣﻮن ﻛﻪ ﺑﺎ ﭼﻨﺪ ﺧﻮدﻛﺎرﺳﺎز آزﻣﻮن‪ ،‬ﻣﺠﺮي‬ ‫‪‬‬
‫ﻛﺎر ﻣﻲ ﻛﻛﻨﺪ‪.‬‬
‫ارزﻳﺎب آآزﻣﻮن ﻛﺎ‬
‫آآزﻣﻮن و ا ﺎ‬
‫ﺑﻬﺒﻮد ﺧﻮدﻛﺎرﺳﺎزي ﻣﻮﺟﺐ ﻛﺎﻫﺶ ﻣﺠﺮﻳﺎن ﺗﺴﺖ ﻣﻲ ﺷﻮد‬ ‫‪‬‬
‫• از ﻟﺤﺎظ ﺗﺌﻮري ﺑﻪ ﺻﻔﺮ )اﻣﺎ در ﻋﻤﻞ اﻳﻨﻄﻮر ﻧﻴﺴﺖ(‬
‫اﻧﺘﺴﺎب اﻓﺮاد اﺷﺘﺒﺎه ﺑﻪ ﻛﺎرﻫﺎي ﻧﺎﻣﺘﻨﺎﺳﺐ ﺑﺎ آﻧﻬﺎ ﻣﻨﺠﺮ ﺑﻪ ﻧﺎﻛﺎرآﻣﺪي‪ ،‬رﺿﺎﻳﺖ ﺷﻐﻠﻲ ﭘﺎﻳﻴﻦ و‬ ‫‪‬‬
‫ﻋﻤﻠﻜﺮد ﺷﻐﻠﻲ ﭘﺎﻳﻴﻦ ﻣﻲ ﺷﻮد‪.‬‬
‫ﺧﻮاﻫﺪ ﺷﺪ و ﺑﻪ دﻧﺒﺎل ﻳﻚ ﺷﻐﻞ دﻳﮕﺮﺮ در‬ ‫ي دﻳﮕﺮﺮ ﺧﺴﺘﻪ ﻮ‬‫ح ﺗﺴﺖ ﻣﺎﻫﺮﺮ ﺑﺎ ﻛﺎرﻫﺎي‬ ‫• ﻳﻚ ﺮ‬
‫ﻃﺮاح‬
‫زﻣﻴﻨﻪ ﺗﻮﺳﻌﻪ ﻧﺮم اﻓﺰار ﺧﻮاﻫﺪ ﮔﺸﺖ‪.‬‬
‫• ﻳﻚ ارزﻳﺎب ﻣﺎﻫﺮ آزﻣﻮن ﻣﺰاﻳﺎي ﻣﻌﻴﺎرﻫﺎي آزﻣﻮن را درك ﻧﺨﻮاﻫﺪ ﻛﺮد‪.‬‬
‫ﻳﻲ را ااﺿﺎﻓﻪ ﻛﻨﻨﺪ‬
‫ﺗﺴﺘﻬﺎﻳﻲ‬
‫ﻬ‬ ‫آزاد ﺑﺑﺎﺷﻨﺪ ﺗﺎ‬
‫ﺑﺎﻳﺪ آزا‬
‫ﺑﺮﺧﻮردارﻧﺪ‪ ،‬ﭘﺲ ﺑ ﻳ‬
‫داﻣﻨﻪ ﺑﺮ ﻮر ار‬
‫ﺶ ا‬ ‫داﻧﺶ‬
‫ن ﺗﺴﺖ‪ ،‬از ا‬ ‫ارزﻳﺎﺑﺎن‬
‫ارزﻳ ﺑ‬ ‫‪‬‬
‫ﻛﻪ در ﻓﺮاﻳﻨﺪﻫﺎي ﻧﺮم اﻓﺰاري دﻳﺪه ﻧﻤﻲ ﺷﻮﻧﺪ‪.‬‬

‫‪٢٦‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫اﻧﻮاع ﻓﻌﺎﻟﻴﺘﻬﺎي آزﻣﻮن ‪ -‬ﺧﻼﺻﻪ‬

‫ﻃﺮاﺣﻲ ﻣﻘﺎدﻳﺮ ﺗﺴﺖ ﺑﺮاي ﺑﺮآوردن اﻫﺪاف ﻣﻬﻨﺪﺳﻲ‬ ‫ﻃﺮاﺣﻲ )ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﻌﻴﺎرﻫﺎ(‬ ‫‪1a.‬‬
‫ﻧﻴﺎز ﺑﻪ داﻧﺶ رﻳﺎﺿﻴﺎت ﮔﺴﺴﺘﻪ‪ ،‬ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ و ﺗﺴﺖ‬
‫ﻃﺮاﺣﻲ ﻣﻘﺎدﻳﺮ ﺗﺴﺖ ﺑﺮ اﺳﺎس داﻧﺶ داﻣﻨﻪ و ﻓﻌﺎﻟﻴﺖ ذﻫﻨﻲ‬ ‫ﻃﺮاﺣﻲ )ﻣﺒﺘﻨﻲ ﺑﺮ اﻧﺴﺎن(‬ ‫‪1b.‬‬
‫ﻧﻴﺎز ﺑﻪ داﻧﺶ داﻣﻨﻪ‪ ،‬واﺳﻂ ﻛﺎرﺑﺮي و ﺗﺴﺖ‬
‫ﻞا ا‬
‫اﺟﺮا‬ ‫اﺳﻜﺮﻳﭙﺘﻬﺎي ﻗﺎﻗﺎﺑﻞ‬
‫ﺎ‬ ‫ﻣﻘﺎدﻳﺮ ﺗﺴﺖ در ا ﻜ‬
‫ﺗﻌﺒﻴﻪ ﺎ‬ ‫ﺧﻮدﻛﺎرﺳﺎزي‬
‫ﻛﺎ ﺎ‬ ‫‪2.‬‬
‫ﻧﻴﺎز ﺑﻪ داﻧﺶ اﺳﻜﺮﻳﭙﺖ ﻧﻮﻳﺴﻲ‬
‫اﺟﺮاي ﺗﺴﺘﻬﺎ روي ﻧﺮم اﻓﺰار و ﺛﺒﺖ ﻧﺘﺎﻳﺞ‬ ‫اﺟﺮا‬ ‫‪3.‬‬
‫ﺶ ﺑﺴﻴﺎرر ﻛﻢ‬
‫ﻢ‬ ‫ﻧﻴﺎز ﺑﻪ داﻧﺶ‬
‫ز‬
‫ارزﻳﺎﺑﻲ ﻧﺘﺎﻳﺞ ﺣﺎﺻﻞ از آزﻣﺎﻳﺶ‪ ،‬و ﮔﺰارش ﺑﻪ ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن‬ ‫ارزﻳﺎﺑﻲ‬ ‫‪4.‬‬
‫ﻧﻴﺎز ﺑﻪ داﻧﺶ داﻣﻨﻪ‬

‫ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﻛﻪ‬


‫ﻛﻨﻨﺪ‪ ،‬ﻛﻪ ﺑﺎ ﺗ ﺟﻪ‬
‫اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ‬
‫ﻓﻌﺎﻟﻴﺖ ا ﺘﻔﺎده‬
‫ﭼﻬﺎر ﻓﻌﺎﻟ ﺖ‬
‫ﺑﺮاي ﻫﻫﺮ ﭼﻬﺎ‬
‫ﻳﻜﺴﺎن ﺑ اي‬
‫اﻓﺮاد ﻳﻜ ﺎن‬
‫آزﻣﻮن از اﻓ اد‬
‫اﻛﺜﺮ ﺗﺗﻴﻢ ﻫﺎي آز ن‬
‫اﻛﺜ‬
‫اﻳﻦ ﻓﻌﺎﻟﻴﺘﻬﺎ ﻛﺎﻣﻼً ﺑﺎ ﻫﻢ ﻣﺘﻔﺎوت ﻫﺴﺘﻨﺪ ﻣﻮﺟﺐ ﻫﺪر رﻓﺘﻦ ﻣﻨﺎﺑﻊ ﻣﻲ ﺷﻮد‬

‫اﺟﺎزه دﻫﺪ ﻛﻪ‪:‬‬


‫ن ﺟز‬ ‫ﻃﺮاﺣﺎن‬
‫دارﻳﻢ ﻛﻪ ﺑﺑﻪ ﺮ‬
‫ي رﻳﻢ‬ ‫ﻓﺮاﻳﻨﺪي‬
‫ﻧﻴﺎزز ﺑﺑﻪ ﺮ ﻳ‬
‫ﻛﺎرآﻣﺪ‪ ،‬ﻴ‬
‫اﻓﺮاد‪ ،‬و ﺗﺴﺖ ر‬
‫از ﺮ‬‫ﻣﺆﺛﺮ ز‬
‫ﺑﺮاي اﺳﺘﻔﺎده ﺆ ﺮ‬
‫ﺑﺮ ي‬
‫ﺳﻄﺢ ﺗﺠﺮﻳﺪ ﺧﻮد را ﺑﺎﻻﺗﺮ ﺑﺒﺮﻧﺪ‪.‬‬
‫‪٢٧‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪(Model‬‬ ‫راﻧﻪ )‪Driven‬‬
‫‪Model-Driven‬‬ ‫ﻣﺪلراﻧﻪ‬
‫ﻃﺮاﺣﻲ ﺗﺴﺖ ﻣﺪل‬

‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي ﭘﺎﻻﻳﺶ ﺷﺪه ‪/‬‬


‫ل ‪ /‬ﺳﺎﺧﺘﺎرر‬
‫ﻣﺪل‬ ‫آزﻣﻮن‬
‫ﻮن‬ ‫ي ز‬‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي‬
‫ﻴ ز ﻳﻬ‬
‫آزﻣﻮن‬
‫ﻣﺸﺨﺼﺎت آز‬
‫ﺸﺨ ﺎت‬

‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آزﻣﻮن‬

‫ﺳﻄﺢ ﺗﺠﺮﻳﺪ ﻃﺮاﺣﻲ‬

‫ﻓﺮآورده‬ ‫ﺳﻄﺢ ﺗﺠﺮﻳﺪ ﭘﻴﺎده ﺳﺎزي‬


‫ﻧﺮماﻓﺰاري‬ ‫ﻣﻘﺎدﻳﺮ ورودي‬

‫اﺳﻜﺮﻳﭙﺘﻬﺎي‬ ‫ﻣﻮارد‬
‫ﭘﺎس ﺷﺪن ﺗﺴﺖ ‪/‬‬ ‫ﻧﺘﺎﻳﺞ آزﻣﻮن‬
‫آزﻣﻮن‬ ‫آزﻣﻮن‬
‫‪٢٨‬‬ ‫ﺧﺮاﺑﻲ‬
‫راﻧﻪ ‪ -‬ﻣﺮاﺣﻞ‬
‫ﻣﺪلراﻧﻪ‬
‫ﻃﺮاﺣﻲ ﺗﺴﺖ ﻣﺪل‬
‫ﻣﻌﻴﺎر‬ ‫ﭘﺎﻻﻳﺶ‬ ‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي ﭘﺎﻻﻳﺶ ﺷﺪه ‪/‬‬
‫ﺳﺎﺧﺘﺎر‬
‫ﻣﺪل ‪ /‬ﺎﺧ ﺎ‬
‫ل‬ ‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آآزﻣﻮن‬
‫ﺎ‬ ‫ﺎ‬ ‫ﺎت آآزﻣﻮن‬
‫ﻣﺸﺨﺼﺎت‬
‫ﺸﺨ‬
‫ﺗﻮﻟﻴﺪ‬

‫ﺗﺤﻠﻴﻞ‬ ‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آزﻣﻮن‬


‫ﺗﺤﻠﻴﻞ داﻣﻨﻪ‬

‫ﺳﻄﺢ ﺗﺠﺮﻳﺪ ﻃﺮاﺣﻲ‬

‫ﻓﺮآورده‬ ‫ﺳﻄﺢ ﺗﺠﺮﻳﺪ ﭘﻴﺎده ﺳﺎزي‬


‫ﻧﺮماﻓﺰاري‬ ‫ﻣﻘﺎدﻳﺮ ورودي‬

‫ﭘﻴﺸﻮﻧﺪ‬
‫ﺧﻮدﻛﺎرﺳﺎزي‬
‫ﺧ ﻛﺎ ﺎ‬ ‫ﭘﺴﻮﻧﺪ‬
‫ارزﻳﺎﺑﻲ‬ ‫اﺟﺮا‬
‫ﭘﺎس ﺷﺪن ﺗﺴﺖ ‪/‬‬ ‫اﺳﻜﺮﻳﭙﺘﻬﺎي‬ ‫ﻣﻮارد‬ ‫ﻣﻮرد اﻧﺘﻈﺎر‬
‫ﻧﺘﺎﻳﺞ آزﻣﻮن‬
‫ﺧﺮاﺑﻲ‬ ‫آزﻣﻮن‬ ‫آزﻣﻮن‬
‫‪٢٩‬‬
‫راﻧﻪ ‪ -‬ﻓﻌﺎﻟﻴﺘﻬﺎ‬
‫ﻣﺪلراﻧﻪ‬
‫ﻃﺮاﺣﻲ ﺗﺴﺖ ﻣﺪل‬
‫ﻃﺮاﺣﻲ ﺗﺴﺖ‬
‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي ﭘﺎﻻﻳﺶ ﺷﺪه ‪/‬‬
‫ل ‪ /‬ﺳﺎﺧﺘﺎرر‬
‫ﻣﺪل‬ ‫آزﻣﻮن‬
‫ﻮن‬ ‫ي ز‬‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي‬
‫ﻴ ز ﻳﻬ‬
‫آزﻣﻮن‬
‫ﻣﺸﺨﺼﺎت آز‬
‫ﺸﺨ ﺎت‬

‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آزﻣﻮن‬

‫ﺷﻮد‬
‫ﻲ ﻮ‬‫ﺗﺠﺮﻳﺪ ﺑﺎﻋﺚ ﻣﻲ‬
‫ﺢ ﺮ‬ ‫ن ﺳﻄﺢ‬ ‫ﻃﺮاﺣﻲ ﺮ‬
‫ﺑﺮدن‬ ‫ﺳﻄﺢ ﺗﺠﺮﻳﺪ ﺑﺎﻻ‬
‫ﻃﺮاﺣﻲ آزﻣﻮن ﺑﺴﻴﺎر ﺳﺎده ﺗﺮ ﺷﻮد‪.‬‬
‫ﻓﺮآورده‬ ‫ﺳﻄﺢ ﺗﺠﺮﻳﺪ ﭘﻴﺎده ﺳﺎزي‬
‫ﻧﺮماﻓﺰاري‬ ‫ﻣﻘﺎدﻳﺮ ورودي‬

‫ارزﻳﺎﺑﻲ ﺗﺴﺖ‬ ‫اﺟﺮاي ﺗﺴﺖ‬


‫اﺳﻜﺮﻳﭙﺘﻬﺎي‬ ‫ﻣﻮارد‬
‫ﭘﺎس ﺷﺪن ﺗﺴﺖ ‪/‬‬ ‫ﻧﺘﺎﻳﺞ آزﻣﻮن‬
‫آزﻣﻮن‬ ‫آزﻣﻮن‬
‫‪٣٠‬‬ ‫ﺧﺮاﺑﻲ‬
‫اﺻﻄﻼﺣﺎت ﻣﻬﻢ اﻋﺘﺒﺎر ﺳﻨﺠﻲ و ﺑﺎزﺑﻴﻨﻲ )‪(IEEE) (V&V‬‬

‫اﻋﺘﺒﺎرﺳﻨﺠﻲ )‪ :(Validation‬ﻓﺮاﻳﻨﺪ ارزﻳﺎﺑﻲ ﻧﺮم اﻓﺰار در ﭘﺎﻳﺎن ﺗﻮﺳﻌﻪ ﻧﺮم‬ ‫‪‬‬


‫ﻧﻈﺮ‪.‬‬
‫ﻛﺎرﺑﺮي ﻣﻮرد ﻧﻈ‬
‫اﻧﻄﺒﺎق ﺎﺑﺎ ﻛﺎ‬
‫اﻃﻤﻴﻨﺎن ااز اﻧﻄ ﺎق‬
‫ﺑﺮاي اﻃ ﻨﺎ‬
‫اﻓﺰار ا‬
‫اﻓ ا‬

‫ﺑﺎزﺑﻴﻨﻲ )‪ :(Verification‬ﻓﺮاﻳﻨﺪ ﺗﻌﻴﻴﻦ اﻳﻦ ﻛﻪ آﻳﺎ ﻣﺤﺼﻮﻻت ﻳﻚ ﻓﺎز ﻣﻌﻴﻦ‬ ‫‪‬‬


‫از ﻓﺮاﻳﻨﺪ ﺗﻮﺳﻌﻪ ﻧﺮم اﻓﺰار‪ ،‬ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي ﺗﻌﻴﻴﻦ ﺷﺪه در ﻓﺎز ﻗﺒﻠﻲ را ﺑﺮآورده‬
‫ﻣﻲ ﻛﻨﻨﺪ ﻳﺎ ﺧﻴﺮ‪.‬‬

‫‪٣١‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻣﻬﻨﺪس آزﻣﻮن و ﻣﺪﻳﺮ آزﻣﻮن‬

‫ﻣﻬﻨﺪس آزﻣﻮن‪ :‬ﻣﺘﺨﺼﺺ ‪ IT‬ﻛﻪ ﻣﺴﺌﻮل ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻓﻌﺎﻟﻴﺖ ﻓﻨﻲ آزﻣﻮن اﺳﺖ‬ ‫‪‬‬
‫ﻃﺮاﺣﻲ ورودي ﻫﺎي آآزﻣﻮن‬ ‫•‬
‫ﺗﻮﻟﻴﺪ ﻣﻘﺎدﻳﺮ آزﻣﻮن‬ ‫•‬
‫اﺟﺮاي اﺳﻜﺮﻳﭙﺖ ﻫﺎي آزﻣﻮن‬ ‫•‬
‫ﺗﺤﻠﻴﻞ ﻧﺘﺎﻳﺞ‬ ‫•‬
‫ﮔﺰارش ﻧﺘﺎﻳﺞ ﺑﻪ ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن و ﻣﺪﻳﺮان‬ ‫•‬

‫ﻣﺪﻳﺮ آزﻣﻮن‪ :‬ﻣﺴﺌﻮل ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻣﻬﻨﺪس آزﻣﻮن‬ ‫‪‬‬


‫ﺗﻌﻴﻴﻦ ﻣﺠﻤﻮﻋﻪ ﺧﻂ ﻣﺸﻲ ﻫﺎ و ﻓﺮاﻳﻨﺪﻫﺎي آزﻣﻮن‬ ‫•‬
‫ﺗﻌﺎﻣﻞ ﺑﺎ ﻣﺪﻳﺮان دﻳﮕﺮ ﺑﺮ روي اﻳﻦ ﭘﺮوژه‬ ‫•‬
‫ﻳﺎ ﻛﻤﻚ ﺑﻪ ﻣﻬﻨﺪﺳﺎن آزﻣﻮن‬ ‫•‬

‫‪٣٢‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻓﻌﺎﻟﻴﺘﻬﺎي ﻣﻬﻨﺪس ﺗﺴﺖ‬

‫ﻣﺪﻳﺮ‬
‫ﺗﺴﺖ‬

‫ﻃﺮاﺣﻲ‬
‫ﻃﺮاﺣﻲ‬ ‫اﻳﺠﺎد ﻧﻤﻮﻧﻪ‬ ‫ﺗﺴﺖ ﻫﺎي ﻗﺎﺑﻞ‬
‫آزﻣﻮن‬ ‫اﺟﺮا‬

‫ﻣﻬﻨﺪس‬ ‫ﻣﻬﻨﺪس‬ ‫ﻣﻬﻨﺪس ﺗﺴﺖ‬


‫ﺗﺴﺖ‬ ‫ﺗﺴﺖ‬

‫اﺟﺮا‬
‫برنامه‬ ‫ﻛﺎﻣﭙﻴﻮﺗﺮﺮ‬
‫ﭙﻴﻮ‬ ‫ﺧﺮوﺟﻲ‬
‫ﺮوﺟﻲ‬ ‫ارزﻳﺎﺑﻲ‬
‫ﺑﻲ‬ ‫رزﻳ‬

‫‪٣٣‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﺴﺖ اﻳﺴﺘﺎ و ﺗﺴﺖ ﭘﻮﻳﺎ‬

‫ﺗﺴﺖ اﻳﺴﺘﺎ )اﺳﺘﺎﺗﻴﻚ(‪ :‬ﺗﺴﺖ ﺑﺪون اﺟﺮاي ﺑﺮﻧﺎﻣﻪ‬ ‫‪‬‬


‫• ﻣﺜﻞ ﺑﺎزرﺳﻲ ﻫﺎي ﻧﺮم اﻓﺰار و ﺑﺮﺧﻲ از اﻧﻮاع ﺗﺤﻠﻴﻞ‬

‫ﺑﺴﻴﺎر ﻣﺆﺛﺮ در ﻳﺎﻓﺘﻦ اﻧﻮاع ﺧﺎﺻﻲ از ﻣﺸﻜﻼت‪ ،‬ﺑﺨﺼﻮص ﻧﻘﺼﻬﺎي »ﺑﺎﻟﻘﻮه«‪ .‬ﻳﻌﻨﻲ ﻣﺸﻜﻼﺗﻲ ﻛﻪ در‬ ‫•‬
‫ﺻﻮرت ﺗﻐﻴﻴﺮ ﺑﺮﻧﺎﻣﻪ ﻣﻲ ﺗﻮاﻧﺪ ﻣﻮﺟﺐ ﺑﺮوز ﻧﻘﺺ ﺷﻮد‪.‬‬

‫واﻗﻌﻲ‬
‫ﺗﺴﺖ ﭘﻮﻳﺎ )داﻳﻨﺎﻣﻴﻚ(‪ :‬ﺗﺴﺖ ﺑﺎ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﺎ ورودي ﻫﺎي واﻗﻌ‬ ‫‪‬‬

‫‪٣٤‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫اﺷﻜﺎلزداﻳﻲ‬
‫زداﻳﻲ‬ ‫ﭼﻨﺪ اﺻﻄﻼح‪ :‬ﻧﻘﺺ‪ ،‬ﺧﻄﺎ و ﺧﺮاﺑﻲ – ﺗﺴﺖ و اﺷﻜﺎل‬

‫ﻧﻘﺺ ﻧﺮم اﻓﺰار )‪ :(Fault‬ﻳﻚ اﻳﺮاد اﻳﺴﺘﺎ در ﻧﺮم اﻓﺰار‬ ‫‪‬‬

‫ﺧﻄﺎي ﻧﺮم اﻓﺰار)‪ :(Error‬ﻳﻚ ﺣﺎﻟﺖ داﺧﻠﻲ ﻧﺎدرﺳﺖ ﻛﻪ در ﻧﺘﻴﺠﻪ وﺟﻮد ﻳﻚ ﻧﻘﺺ ﻇﺎﻫﺮ‬ ‫‪‬‬
‫ﻣﻲﺷﻮد‬

‫ﺧﺮاﺑﻲ ﻧﺮم اﻓﺰار )‪ :(Failure‬رﻓﺘﺎر ﺧﺎرﺟﻲ ﻧﺎدرﺳﺖ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﻴﺎزﻣﻨﺪﻳﻬﺎ و ﻳﺎ ﺳﺎﻳﺮ ﺗﻮﺻﻴﻔﻬﺎ‬ ‫‪‬‬
‫از رﻓﺘﺎر درﺳﺖ‬

‫ﻧﻘﺼﻬﺎي ﻧﺮم اﻓﺰار ﻧﺎﺷﻲ از اﺷﺘﺒﺎه ﻫﺎي ﻃﺮاﺣﻲ ﺑﻮده و ﻫﻤﻮاره وﺟﻮد ﺧﻮاﻫﻨﺪ داﺷﺖ‪.‬‬

‫ﺗﺴﺖ‪ :‬ﭘﻴﺪا ﻛﺮدن ورودي ﻛﻪ ﺑﺎﻋﺚ ﻣﻲﺷﻮد ﻧﺮم اﻓﺰار ﺑﺎ ﺧﺮاﺑﻲ ﻣﻮاﺟﻪ ﺷﻮد‬ ‫‪‬‬

‫اﺷﻜﺎل زداﻳﻲ )‪ :(Debug‬روﻧﺪ ﻳﺎﻓﺘﻦ ﻳﻚ ﻧﻘﺺ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻳﻚ ﺧﺮاﺑﻲ ﻣﻌﻴﻦ‬ ‫‪‬‬

‫‪٣٥‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻣﺪل ﻧﻘﺺ و ﺧﺮاﺑﻲ‬

‫ﺳﻪ ﺷﺮط ﻻزم ﺑﺮاي ﻣﺸﺎﻫﺪه ﺷﺪن ﺧﺮاﺑﻲ )‪(RIP‬‬ ‫‪‬‬

‫ﻗﺎﺑﻠﻴﺖ دﺳﺘﺮﺳﻲ )‪ :(Reachability‬ﺑﺎﻳﺪ ﺑﺘﻮان ﺑﻪ ﻣﻜﺎن ﻳﺎ ﻣﻜﺎﻧﻬﺎﻳﻲ از ﺑﺮﻧﺎﻣﻪ ﻛﻪ‬ ‫‪.1‬‬


‫داراي ﻧﻘﺺ ﻫﺴﺘﻨﺪ رﺳﻴﺪ )دﺳﺘﺮﺳﻲ ﭘﻴﺪا ﻛﺮد(‪.‬‬

‫آﻟﻮده ﺳﺎزي )‪ :(Infection‬ﺣﺎﻟﺖ ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ ﻧﺎدرﺳﺖ ﺑﺎﺷﺪ‪.‬‬ ‫‪.2‬‬

‫اﻧﺘﺸﺎر )‪ :(Propagation‬ﺣﺎﻟﺖ اﺷﺘﺒﺎه ﺑﺮﻧﺎﻣﻪ ﺑﺎﻳﺪ ﻣﻨﺘﺸﺮ ﺷﺪه و ﻣﻮﺟﺐ ﻏﻠﻂ ﺷﺪن‬ ‫‪.3‬‬
‫ﺑﺮﺧﻲ ﺧﺮوﺟﻲ ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﺷﻮد‪.‬‬

‫‪٣٦‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻣﻮرد آزﻣﻮن )‪(test case‬‬

‫ﺷﺎﻣﻞ دو ﺑﺨﺶ اﺳﺖ‪:‬‬ ‫‪‬‬

‫ﻣﻘﺎدﻳﺮ ﻣﻮرد آزﻣﻮن )‪ :(values‬ﻣﻘﺎدﻳﺮي ﻛﻪ ﻣﺴﺘﻘﻴﻤﺎً ﻳﻚ ﻧﻴﺎزﻣﻨﺪي آزﻣﻮن را ﺑﺮآورده‬ ‫•‬


‫ﻲﻛﻨﺪ‪.‬‬
‫ﻣﻲ‬
‫ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ‪ :‬ورودﻳﻬﺎي ﻃﺮاﺣﻲ ﺷﺪه ﺑﺮاي ﻳﻚ ﻧﻴﺎزﻣﻨﺪي آزﻣﻮن‬ ‫‪‬‬

‫ﺻﻮرت ﺑ آو ده‬
‫ﺑﺮآورده‬ ‫اﺟﺮاي آزﻣﻮن ددر ﺻﻮ ت‬ ‫اﻧﺘﻈﺎر)‪ :(expected‬ﻧﺘ ﺠﻪ‬
‫ﻧﺘﻴﺠﻪ اي ﻛﻪ ﻫﻨﮕﺎم اﺟ اي‬ ‫ﻣﻮرد اﻧﺘﻈﺎ‬
‫ﻧﺘﺎﻳﺞ ﻣﻮ د‬ ‫•‬
‫ﻛﺮدن رﻓﺘﺎر در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه ﺗﻮﺳﻂ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﺗﻮﻟﻴﺪ ﺧﻮاﻫﺪ ﺷﺪ‬
‫ﺑﻪ ﻋﺒﺎرت دﻳﮕﺮ‪ :‬ﺧﺮوﺟﻲﻫﺎﻳﻲ )ﺻﺤﻴﺢ( ﻛﻪ اﻧﺘﻈﺎر ﻣﻲ رود در اﺛﺮ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﺎ ورودﻳﻬﺎي ﺑﺎﻻ ﺗﻮﻟﻴﺪ ﺷﻮد‬ ‫‪‬‬

‫‪٣٧‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻣﺸﺎﻫﺪه ﭘﺬﻳﺮي و ﻛﻨﺘﺮل ﭘﺬﻳﺮي‬

‫ﻣﺸﺎﻫﺪه ﭘﺬﻳﺮي )‪ (Observability‬ﻧﺮم اﻓﺰار‪:‬‬ ‫‪‬‬


‫ﻣﺸﺎﻫﺪه رﻓﺘﺎر ﺑﺮﻧﺎﻣﻪ در ﻗﺎﻟﺐ ﺧﺮوﺟﻲ ﻫﺎي آن‪ ،‬آﺛﺎر آن ﺑﺮ ﻣﺤﻴﻂ‪ ،‬و ﺳﺎﻳﺮ ﻣﺆﻟﻔﻪ ﻫﺎي‬ ‫•‬
‫ﺳﺨﺖ اﻓﺰاري و ﻧﺮم اﻓﺰاري ﭼﻘﺪر آﺳﺎن اﺳﺖ‬
‫ﻧﺮم اﻓﺰارﻫﺎﻳﻲ ﻛﻪ ﺑﺮ دﺳﺘﮕﺎه ﻫﺎي ﺳﺨﺖ اﻓﺰاري‪ ،‬ﭘﺎﻳﮕﺎه داده ﻫﺎ‪ ،‬و ﻳﺎ ﻓﺎﻳﻞ ﻫﺎي راه دور ﺗﺎﺛﻴﺮ دارﻧﺪ از ﻣﺸﺎﻫﺪه ﭘﺬﻳﺮي‬ ‫‪‬‬

‫ﻫﺴﺘﻨﺪ‪.‬‬
‫ﺑﺮﺧﻮردار ﻫ ﺘﻨ‬
‫ﭘﺎﻳﻴﻨﻲ ﺧ دا‬
‫ﺎ ﻨ‬

‫ﻛﻨﺘﺮل ﭘﺬﻳﺮي )‪ (Controllability‬ﻧﺮم اﻓﺰار‪:‬‬ ‫‪‬‬


‫ﻓﺮاﻫﻢ ﻛﺮدن ورودي ﻫﺎي ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﻧﺮم اﻓﺰار در ﻗﺎﻟﺐ ﻣﻘﺎدﻳﺮ آﻧﻬﺎ‪ ،‬ﻋﻤﻠﻴﺎت و‬ ‫•‬
‫رﻓﺘﺎرﻫﺎي ﻣﻮرد ﻧﻈﺮ ﭼﻘﺪر آﺳﺎن اﺳﺖ‬
‫ﻧﺮم اﻓﺰاري ﻛﻪ ورودﻳﻬﺎي ﺧﻮد را از ﻛﻴﺒﻮرد ﺑﮕﻴﺮد ﻛﻨﺘﺮل ﭘﺬﻳﺮي ﺑﺎﻻﻳﻲ دارد‬ ‫‪‬‬

‫ﻛﻨﺘﺮل آآن‬
‫درﻳﺎﻓﺖ ﻣﻲ ﻛﻛﻨﺪ ﻛ ل‬
‫اﻓﺰارﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه ﺎﻓ‬
‫ﻳﺎ ﻧﺮم اﻓ ا ﺎ‬
‫اﻓﺰاري و ﺎ‬
‫ﺳﻨﺴﻮرﻫﺎي ﺳﺨﺖ اﻓ ا‬
‫ﺎ‬ ‫را ااز‬
‫اﻓﺰاري ﻛﻛﻪ ورودي ﺧﻮد ا‬
‫ﻧﺮم اﻓ ا‬ ‫‪‬‬

‫ﺳﺨﺖ ﺗﺮ اﺳﺖ‬
‫ﺗﺠﺮﻳﺪ داده ﻛﻨﺘﺮل ﭘﺬﻳﺮي و ﻣﺸﺎﻫﺪه ﭘﺬﻳﺮي را ﻛﺎﻫﺶ ﻣﻲ دﻫﺪ‬ ‫‪‬‬

‫‪٣٨‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ورودي ﺑﺮاي ﺗﺄﺛﻴﺮ ﺑﺮ ﻛﻨﺘﺮل ﭘﺬﻳﺮي و ﻣﺸﺎﻫﺪه ﭘﺬﻳﺮي‬

‫ﻣﻘﺎدﻳﺮ ﭘﻴﺸﻮﻧﺪ‪:‬‬ ‫‪‬‬


‫ﻫﺮ ورودي ﻻزم ﺑﺮاي ﻗﺮار دادن ﻧﺮم اﻓﺰار در ﺣﺎﻟﺖ ﻣﻨﺎﺳﺐ ﺑﺮاي درﻳﺎﻓﺖ ﻣﻘﺎدﻳﺮ ﻣﻮرد‬ ‫•‬
‫آزﻣﻮن‬

‫ﻣﻘﺎدﻳﺮ ﭘﺴﻮﻧﺪ‪:‬‬ ‫‪‬‬


‫ﻫﺮ ورودي ﻛﻪ ﻧﻴﺎز اﺳﺖ ﭘﺲ از ﻣﻘﺎدﻳﺮ ﻣﻮرد آزﻣﻮن ﺑﻪ ﻧﺮم اﻓﺰار ارﺳﺎل ﺷﻮد‬ ‫•‬
‫دو ﻧﻮع ﻣﻘﺪار ﭘﺴﻮﻧﺪ‬ ‫•‬
‫‪ .1‬ﻣﻘﺎدﻳﺮ ﺑﺎزﺑﻴﻨﻲ )‪ :(verification values‬ﻣﻘﺎدﻳﺮ ﻻزم ﺑﺮاي ﻣﺸﺎﻫﺪه ﻧﺘﺎﻳﺞ ﻣﻘﺎدﻳﺮ ﻣﻮارد آزﻣﻮن‬ ‫‪‬‬

‫‪ .2‬ﻓﺮﻣﺎﻧﻬﺎي ﺧﺮوج )‪ :(exit commands‬ﻣﻘﺎدﻳﺮ ﻻزم ﺑﺮاي ﭘﺎﻳﺎن دادن ﺑﻪ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ و ﻳﺎ در ﻏﻴﺮ اﻳﻦ‬ ‫‪‬‬

‫ﭘﺎﻳﺪار‬
‫ﺣﺎﻟﺖ ﺎ ا‬
‫ﻚ ﺎﻟﺖ‬
‫ﺑﺮﮔﺮداﻧﺪن آآن ﺑﻪﻪ ﻳﻚ‬
‫ت ﮔ داﻧ‬ ‫ﺻﻮرت‬

‫ﻮن‪:‬‬
‫آزﻣﻮن‬
‫ي ز‬‫اﺟﺮاي‬
‫ﺑﻞ ﺮ‬‫ي ﻗﺎﺑﻞ‬
‫اﺳﻜﺮﻳﭙﺖ ﻫﺎي‬
‫ﺮﭙ‬ ‫‪‬‬
‫ﻳﻚ ﻣﻮرد آزﻣﻮن ﻛﻪ ﺑﻪ ﺷﻜﻠﻲ آﻣﺎده ﺷﺪه اﺳﺖ ﻛﻪ ﺑﻪ ﻃﻮر ﺧﻮدﻛﺎر روي ﻧﺮم اﻓﺰار اﺟﺮا‬ ‫•‬
‫ﺷﺪه و ﮔﺰارﺷﻲ را ﺗﻮﻟﻴﺪ ﻧﻤﺎﻳﺪ‬
‫‪٣٩‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﺴﺖ ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ و ﭘﺎﻳﻴﻦ ﺑﻪ ﺑﺎﻻ‬

‫ﺗﺴﺖ ﺑﺎﻻ ﺑﻪ ﭘﺎﻳﻴﻦ‪:‬‬ ‫‪‬‬


‫اﺑﺘﺪا ﭘﺮوﺳﻴﺠﺮ اﺻﻠﻲ ﺗﺴﺖ ﻣﻲ ﺷﻮد‪ ،‬ﺳﭙﺲ ﺑﺎ ﺣﺮﻛﺖ رو ﺑﻪ ﭘﺎﻳﻴﻦ ﭘﺮوﺳﻴﺠﺮﻫﺎﻳﻲ را ﻛﻪ‬ ‫•‬
‫ﺗﺮﺗﻴﺐ‪..‬‬
‫ﺷﻮﻧﺪ؛ و ﺑﻪ ﻫﻤﻴﻦ ﺗﺮﺗﻴﺐ‬
‫ﻣﻲﺷﻮﻧﺪ؛‬
‫ﻛﻨﺪ ﺗﺴﺖ ﻣﻲ‬
‫ﻣﻲﻛﻨﺪ‬
‫ﭘﺮوﺳﻴﺠﺮ اﺻﻠﻲ آﻧﻬﺎ را ﻓﺮاﺧﻮاﻧﻲ ﻣﻲ‬

‫ﺗﺴﺖ ﭘﺎﻳﻴﻦ ﺑﻪ ﺑﺎﻻ ‪:‬‬ ‫‪‬‬


‫ﺗﺴﺖ ﺑﺮگ ﻫﺎ در درﺧﺖ ﻓﺮاﺧﻮاﻧﻲ )ﭘﺮوﺳﻴﺠﺮ ﻫﺎﻳﻲ ﻛﻪ ﻫﻴﭻ ﻓﺮاﺧﻮاﻧﻲ را اﻧﺠﺎم‬ ‫•‬
‫ﻧﻤﻲدﻫﻨﺪ(‪ ،‬و ﺣﺮﻛﺖ ﺑﻪ ﺑﺎﻻ ﺑﻪ ﺳﻤﺖ رﻳﺸﻪ‬
‫ﻫﺮ ﭘﺮوﺳﻴﺠﺮ ﺗﺴﺖ ﻧﻤﻲﺷﻮد؛ ﺗﺎ وﻗﺘﻲ ﻛﻪ ﻫﻤﻪ ﻓﺮزﻧﺪان آن ﺗﺴﺖ ﺷﺪه ﺑﺎﺷﻨﺪ‪.‬‬ ‫•‬

‫‪٤٠‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﺴﺖ ﺟﻌﺒﻪ ﺳﻴﺎه و ﺗﺴﺖ ﺟﻌﺒﻪ ﺳﻔﻴﺪ‬

‫ﺟﻌﺒﻪ ﺳﻴﺎه ﺗﺴﺖ‪:‬‬ ‫‪‬‬


‫اﺳﺘﺨﺮاج ﺗﺴﺖ ﺑﺮ اﺳﺎس ﺗﻮﺻﻴﻒ ﺧﺎرﺟﻲ ﻧﺮم اﻓﺰار‪ ،‬ﺷﺎﻣﻞ ﻣﺸﺨﺼﺎت‪،‬‬ ‫•‬
‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎ و ﻃﺮاﺣﻲ‬

‫ﺗﺴﺖ ﺟﻌﺒﻪ ﺳﻔﻴﺪ‪:‬‬ ‫‪‬‬


‫ﻫﺎ‪،‬‬
‫اﻧﺸﻌﺎب ﺎ‬
‫ﻣﺸﺨﺼﺎ‪ :‬اﻧﺸ ﺎ‬
‫داﺧﻠﻲ ﻛﻛﺪ ﻣﻨﺒﻊ‪ ،‬ﺸﺨ ﺎً‬
‫ﺟﺰﺋﻴﺎت اﺧﻠ‬
‫اﺳﺎس ﺋ ﺎ‬
‫اﺳﺘﺨﺮاج ﺗﺗﺴﺖ ﺑﺮ ا ﺎ‬
‫ا ﺨ ا‬ ‫•‬
‫ﺷﺮﻃﻬﺎي ﻣﻨﻔﺮد‪ ،‬و ﻋﺒﺎرﺗﻬﺎي دﺳﺘﻮري‬

‫اﻳﻦ دﻳﺪﮔﺎه ﻗﺪﻳﻤﻲ و از رده ﺧﺎرج اﺳﺖ ‪.‬‬


‫ﻛﻨﻴﻢ؟‬
‫اﺳﺘﺨﺮاج ﻴﻢ‬
‫ﺮج‬ ‫ﺑﺎﻳﺪ ﺗﺴﺖ ﻫﺎ ررا‬
‫ﺗﺠﺮﻳﺪ ﺑ ﻳ‬
‫ﺢ ﺠﺮﻳ‬‫ﻳﻦ اﺳﺖ‪ :‬ازز ﻛﺪامم ﺳﻄﺢ‬
‫ﻲ ﺗﺮﺮ اﻳﻦ‬
‫ل ﻛﻠﻲ‬
‫ﺳﻮال‬
‫ﻮ‬

‫‪٤١‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﻐﻴﻴﺮ ﻣﻔﺎﻫﻴﻢ ﺗﺴﺖ‬

‫دﻳﺪﮔﺎه ﻗﺪﻳﻤﻲ ﺗﺴﺖ‪ ،‬آزﻣﻮن را در ﻓﺎزﻫﺎي ﻣﻌﻴﻦ ﺗﻮﺳﻌﻪ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮد‬ ‫‪‬‬

‫آزﻣﻮن واﺣﺪ‪ ،‬آزﻣﻮن ﻣﺎژول‪ ،‬آزﻣﻮن ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي‪ ،‬آزﻣﻮن ﺳﻴﺴﺘﻢ و ‪...‬‬ ‫•‬

‫دﻳﺪﮔﺎه ﺟﺪﻳﺪ ﺑﺮ ﺣﺴﺐ ﺳﺎﺧﺘﺎرﻫﺎ و ﻣﻌﻴﺎرﻫﺎ اﺳﺖ‬ ‫‪‬‬

‫ﮔﺮاﻓﻬﺎ ‪ ،‬ﻋﺒﺎرات ﻣﻨﻄﻘﻲ‪ ،‬ﻧﺤﻮ‪ ،‬ﻓﻀﺎي ورودي‬ ‫•‬

‫‪٤٢‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻗﺪﻳﻤﻲ‪ :‬ﺗﺴﺖ در ﺳﻄﻮح ﻣﺨﺘﻠﻒ‬
‫آزﻣﻮن ﭘﺬﻳﺮش‪ :‬آﻳﺎ ﻧﺮم اﻓﺰار‬ ‫‪‬‬
‫ﻛﻼس اﺻﻠﻲ ‪P‬‬ ‫ﺑﺮاي ﻛﺎرﺑﺮ ﻗﺎﺑﻞ ﻗﺒﻮل اﺳﺖ؟‬

‫ﺗﺴﺖ ﺳﻴﺴﺘﻢ‪ :‬ﺗﺴﺖ ﻋﻤﻠﻜﺮد‬ ‫‪‬‬


‫ﻛﻠﻲ ﺳﻴﺴﺘﻢ‬
‫ﻛﻼس ‪A‬‬ ‫ﻛﻼس ‪B‬‬
‫ﺗﺴﺖ ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي‪ :‬ﺗﺴﺖ‬ ‫‪‬‬
‫ﭼﮕﻮﻧﮕﻲ ﺗﻌﺎﻣﻞ ﻣﺎژول ﻫﺎ ﺑﺎ‬
‫ﻣﺘﺪ )(‪mA1‬‬ ‫ﻣﺘﺪ )(‪mB1‬‬
‫ﻳﻜﺪﻳﮕﺮ‬

‫ﻣﺘﺪ )(‪mA2‬‬ ‫ﻣﺘﺪ )(‪mB2‬‬ ‫ﺗﺴﺖ ﻣﺎژول‪ :‬ﺗﺴﺖ ﻫﺮ ﻛﻼس‪،‬‬ ‫‪‬‬


‫ﻓﺎﻳﻞ‪ ،‬ﻣﺎژول و ﻳﺎ ﻣﺆﻟﻔﻪ‬

‫ﺗﺴﺖ واﺣﺪ‪ :‬ﺗﺴﺖ ﻫﺮ واﺣﺪ )ﻣﺘﺪ(‬ ‫‪‬‬


‫ﺑﻪ ﻃﻃﻮر ﻨﻔ د‬
‫ﻣﻨﻔﺮد‬

‫‪٤٣‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻗﺪﻳﻤﻲ‪ :‬ﻳﻚ ﮔﺮاف ﭘﻴﺪا ﻛﻨﻴﺪ و آن را ﭘﻮﺷﺶ دﻫﻴﺪ‬

‫ﻣﺘﻨﺎﺳﺐ ﺑﺎ‪:‬‬ ‫‪‬‬


‫ﻓﺮآورده ﻧﺮم اﻓﺰاري ﺧﺎص‬ ‫•‬
‫ﻛﺪ‪ ،‬ﻃﺮاﺣﻲ‪ ،‬ﻣﺸﺨﺼﺎت‬ ‫‪‬‬

‫ﺣﻴﺎت‬
‫ﭼﺮﺧﻪ ﻴ‬
‫ص ازز ﭼﺮ‬
‫ﻳﻳﻚ ﻓﺎزز ﺧﺎص‬ ‫•‬
‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎ ‪ ،‬ﻣﺸﺨﺼﺎت‪ ،‬ﻃﺮاﺣﻲ‪ ،‬ﭘﻴﺎده ﺳﺎزي‬ ‫‪‬‬

‫ﮔﺮاف ﻫﺎ ﺗﻤﺎم ﺗﻜﻨﻴﻚ ﻫﺎي ﺗﺴﺖ را ﺑﻪ ﺧﻮﺑﻲ ﺗﻮﺻﻴﻒ ﻧﻤﻲ ﻛﻨﻨﺪ‪.‬‬


‫ﮔ ف‬ ‫‪‬‬

‫ﺷﻮد(‪.‬‬
‫ﻣﻲ ﻮ‬
‫اﺷﺎره ﻲ‬
‫ﻲ اﺳﺖ )ﺑﺑﻌﺪاً ر‬
‫ي ﻛﺎﻓﻲ‬
‫ﺗﺠﺮﻳﺪي‬
‫ل ﺠﺮﻳ‬‫ﭼﻬﺎرر ﻣﺪل‬
‫ﭼﻬ‬ ‫‪‬‬

‫‪٤٤‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺟﺪﻳﺪ‪ :‬ﻣﻌﻴﺎرﻫﺎي ﭘﻮﺷﺶ آزﻣﻮن‬

‫ﻛﺎر ﺗﺴﺖ ﻛﻨﻨﺪه ﺳﺎده اﺳﺖ‪ :‬ﺗﻌﺮﻳﻒ ﻣﺪﻟﻲ از ﻧﺮم اﻓﺰار‪ ،‬ﺳﭙﺲ‪ ،‬ﻳﺎﻓﺘﻦ راﻫﻲ‬ ‫‪‬‬
‫ﺑﺮاي ﭘﻮﺷﺶ آن‬

‫ﺷﺪه ﺎ‬
‫ﻳﺎ‬ ‫ﺑﺮآورده ﺷﺪ‬
‫ﺗﺴﺖ آ د‬‫ﺑﺎﻳﺪ ددر ﻃﻃﻲ ﺗ ﺖ‬
‫ﺧﺎﺻﻲ ﻛﻪ ﺎ ﺪ‬
‫ﻧﻴﺎز ﺧﺎ‬
‫آزﻣﻮن ‪ :‬ﻧ ﺎز‬
‫ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آز‬
‫ﻧ ﺎز ﻨﺪ ﺎ‬ ‫‪‬‬
‫ﭘﻮﺷﺶ داده ﺷﻮد‬

‫ﻣﻌﻴﺎر آزﻣﻮن ‪:‬ﻣﺠﻤﻮﻋﻪ اي از ﻗﻮاﻋﺪ و ﻳﻚ ﻓﺮاﻳﻨﺪ ﻛﻪ ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آزﻣﻮن را‬ ‫‪‬‬


‫ﺗﻌﺮﻳﻒ ﻣﻲ ﻛﻨﻨﺪ‬

‫ﭘﮋوﻫﺸﮕﺮان آزﻣﻮن‪ ،‬ده ﻫﺎ ﻣﻌﻴﺎر را ﺗﻌﺮﻳﻒ ﻛﺮده اﻧﺪ‪ ،‬اﻣﺎ اﻏﻠﺐ آﻧﻬﺎ در ﭼﻬﺎر دﺳﺘﻪ ﺑﻨﺪي ﺳﺎﺧﺘﺎري‬
‫ﻣﻮرد ﻧﻈﺮ ﻣﺎ ﻣﻲﮔﻨﺠﻨﺪ‪.‬‬

‫‪٤٥‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺟﺪﻳﺪ‪ :‬ﻣﻌﻴﺎرﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺳﺎﺧﺘﺎرﻫﺎ‬
‫ﺳﺎﺧﺘﺎر ‪ 4 :‬روش ﺑﺮاي ﻣﺪل ﻛﺮدن ﻧﺮم اﻓﺰار‬

‫‪ .1‬ﮔﺮاف ﻫﺎ‬

‫‪(not X or not Y) and A and B‬‬ ‫‪ .2‬ﻋﺒﺎرات ﻣﻨﻄﻘﻲ‬

‫}‪A: {0, 1, >1‬‬


‫}‪B: {600, 700, 800‬‬
‫‪C: {swe,‬‬
‫‪{swe cs,‬‬
‫‪cs isa,‬‬
‫}‪isa infs‬‬ ‫ي داﻣﻨﻪ‬
‫ورودي‬
‫ﺧﺼﻮﺻﻴﺎت ورو‬ ‫‪ .3‬ﺗﻌﻴﻴﻦ‬
‫ﻴﻴﻦ ﻮ ﻴ‬

‫)‪if (x > y‬‬


‫;‪z = x - y‬‬
‫‪else‬‬
‫‪ .4‬ﺳﺎﺧﺘﺎرﻫﺎي ﻧﺤﻮي‬
‫‪٤٦‬‬ ‫;‪z = 2 * x‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪2‬‬ ‫‪6‬‬

‫‪1‬‬ ‫‪5‬‬ ‫‪7‬‬ ‫‪ .1‬ﭘﻮﺷﺶ ﮔﺮاف ‪ -‬ﺳﺎﺧﺘﺎري‬


‫‪3‬‬

‫‪4‬‬
‫ﭘﻮﺷﺶ ﮔﺮه )ﻋﺒﺎرات(‬
‫ﻫﺮ ﮔﺮه را ﭘﻮﺷﺶ دﻫﻴﺪ‪:‬‬ ‫اﻳﻦ ﮔﺮاف ﻣﻲﺗﻮاﻧﺪ ﻧﺸﺎندﻫﻨﺪه ﻣﻮارد زﻳﺮ ﺑﺎﺷﺪ‪:‬‬
‫ﭘﻮﺷﺶ ﻣﺴﻴﺮ‬
‫ﺷ‬
‫‪• 12567‬‬ ‫• ﻋﺒﺎرﺗﻬﺎ و اﻧﺸﻌﺎﺑﻬﺎ‬
‫ﻫﺮ ﻣﺴﻴﺮ را ﭘﻮﺷﺶ دﻫﻴﺪ‪:‬‬ ‫•ﻣﺘﺪﻫﺎ و ﻓﺮاﺧﻮاﻧﻲ ﻫﺎ‬
‫‪• 1343567‬‬
‫‪• 12567‬‬ ‫• ﻣﺆﻟﻔﻪ‬
‫ﺆﻟﻔﻪ ﻫﺎ و ﮕﻨﺎﻟﻬﺎ‬
‫ﺳﻴﮕﻨﺎﻟﻬﺎ‬
‫‪• 1257‬‬ ‫ﭘﻮﺷﺶ ﻳﺎل )اﻧﺸﻌﺎﺑﻬﺎ(‬ ‫•ﺣﺎﻟﺘﻬﺎ و ﮔﺬارﻫﺎ‬
‫‪• 13567‬‬ ‫ﻫﺮ ﻳﺎل را ﭘﻮﺷﺶ دﻫﻴﺪ‪:‬‬ ‫• و ‪...‬‬
‫‪• 1357‬‬ ‫‪• 12567‬‬
‫‪• 1343567‬‬ ‫‪• 1343567‬‬
‫… ‪• 134357‬‬ ‫‪• 1357‬‬

‫‪٤٧‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫}‪def = {a , m‬‬ ‫}‪def = {m‬‬
‫}‪use = {y‬‬
‫‪2‬‬ ‫‪6‬‬
‫}‪def = {x, y‬‬
‫}‪use = {x‬‬ ‫}‪use = {a‬‬ ‫}‪use = {m‬‬
‫‪1‬‬ ‫‪5‬‬ ‫}‪use = {a‬‬ ‫‪7‬‬ ‫‪ -1‬ﮔﺮاف ﭘﻮﺷﺶ ‪ -‬ﺟﺮﻳﺎن داده‬
‫}‪use = {x‬‬
‫‪3‬‬
‫}‪def = {a‬‬
‫ﻓﺎﻛﺘﻮر زﻳﺮ ااﺳﺖ ‪:‬‬
‫ﺣﺎوي دو ﻓﺎﻛ‬
‫ﮔﺮاف ﺎ‬
‫ااﻳﻦ ﮔ اف‬
‫‪4‬‬
‫}‪def = {m‬‬ ‫ﺗﻌﺎرﻳﻒ )‪def‬ﻫﺎ(‪ :‬ﮔﺮهﻫﺎ و ﻳﺎل ﻫﺎﻳﻲ ﻛﻪ‬
‫}‪use = {y‬‬ ‫در آﻧﻬﺎ ﺑﻪ ﻣﺘﻐﻴﺮﻫﺎ ﻣﻘﺎدﻳﺮي ﻧﺴﺒﺖ‬
‫دﻫﻴﻢ‬
‫ﻣﻲدﻫ‬
‫ﻛﺎرﺑﺮدﻫﺎ )‪use‬ﻫﺎ(‪ :‬ﮔﺮهﻫﺎ و ﻳﺎل ﻫﺎﻳﻲ ﻛﻪ‬
‫در آﻧﻬﺎ ﻣﻘﺎدﻳﺮ ﻣﺘﻐﻴﺮﻫﺎ ﻣﻮرد دﺳﺘﺮﺳﻲ‬
‫ﭘﭘﻮﺷﺶ ﻫﻤﻪ ﻛﺎرﺑﺮدﻫﺎ‬
‫ﮔﻴﺮﻧﺪ‪.‬‬
‫ﻗﺮار ﻣﻲﮔ ﻧﺪ‬
‫ﻗا‬
‫ﭘﻮﺷﺶ ﻫﻤﻪ ﺗﻌﺎرﻳﻒ‬
‫ﻫﺮ ﺗﻌﺮﻳﻒ ﺑﻪ ﻫﺮ ﻛﺎرﺑﺮد دﺳﺘﺮﺳﻲ‬
‫ﻫﺮ ﺗﻌﺮﻳﻒ ﺑﻪ ﻳﻚ ﻛﺎرﺑﺮد دﺳﺘﺮﺳﻲ‬ ‫زوج ﻫﺎي ﺗﻌﺮﻳﻒ‪-‬ﻛﺎرﺑﺮد )‪(Def-Use‬‬
‫ﭘﻴﺪا ﻛﻨﺪ‪:‬‬
‫ﭘﻴﺪا ﻛﻨﺪ‪:‬‬ ‫‪• ((x,, 1,, (1,2)),‬‬
‫‪( , )), (x,‬‬
‫))‪( , 1,, (1,3‬‬
‫)) ‪( ,‬‬
‫‪• 1,‬‬
‫‪1 2,‬‬
‫‪2 5,‬‬
‫‪5 6,‬‬
‫‪6 7‬‬
‫‪• 1, 2, 5, 6, 7‬‬ ‫)‪• (y, 1, 4), (y, 1, 6‬‬
‫‪• 1, 2, 5, 7‬‬
‫‪• 1, 2, 5, 7‬‬ ‫‪• (a, 2, (5,6)), (a, 2, (5,7)),‬‬
‫‪• 1, 3, 5, 6, 7‬‬
‫‪• 1, 3, 4, 3, 5, 7‬‬ ‫‪(a 3,‬‬
‫‪(a,‬‬ ‫‪3 (5,6)),‬‬
‫‪(5 6)) (a,‬‬
‫‪(a 3,‬‬
‫))‪3 (5,7‬‬
‫))‪(5 7‬‬
‫‪• 1, 3, 5, 7‬‬
‫‪• (m, 2, 7), (m, 4, 7), (m, 6,‬‬
‫‪٤٨ • 1, 3, 4, 3, 5,7‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬
‫)‪7‬‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ . 1‬ﮔﺮاف – ﻣﺜﺎﻟﻲ از ‪FSM‬‬
‫‪L‬‬
‫‪Lexus‬‬ ‫دار در ‪Es 300‬‬
‫‪E‬‬ ‫ﺣﺎﻓﻈﻪ ا‬
‫ﻫﺎي ﺎﻓﻈ‬
‫ﺻﻨﺪﻟﻲ ﺎ‬
‫ﻟ‬
‫ﮔﺎرد )ﻣﺤﺪودﻳﺖ اﻳﻤﻨﻲ(‬ ‫ﺗﺮﻳﮕﺮ )ورودي(‬

‫ﻛﻠﻴﺪ ‪ ] | 2‬اﺣﺘﺮاق = ﺧﺎﻣﻮش [‬


‫ﭘﻴﻜﺮﺑﻨﺪي‬ ‫ﭘﻴﻜﺮﺑﻨﺪي‬
‫‪Driver 1‬‬ ‫‪Driver2‬‬
‫ﻛﻠﻴﺪ ‪ ] | 1‬اﺣﺘﺮاق = ﺧﺎﻣﻮش [‬
‫)( ‪ ] seatBack‬اﺣﺘﺮاق = روﺷﻦ ﻛﺮدن [‬
‫)( ‪ ] seatBottom‬اﺣﺘﺮاق = روﺷﻦ [‬
‫ﭘﻴﻜﺮﺑﻨﺪي‬
‫ﺑﻨﺪي‬ ‫ﭘﻜ‬ ‫اﺣﺘﺮاق‬
‫ق‬ ‫ﻮش = ﺮ‬
‫ﺧﺎﻣﻮش‬
‫اﺣﺘﺮاق = روﺷﻦ [‬
‫‪ ] lumbar‬ا ا‬
‫)( ‪l b‬‬
‫) ﺑﻪ ﮔﺮه ﺗﻐﻴﻴﺮ ﻳﺎﻓﺘﻪ (‬ ‫ﺟﺪﻳﺪ‬
‫] اﺣﺘﺮاق = روﺷﻦ [‬ ‫)( ‪sideMirrors‬‬
‫‪Driver 2‬‬
‫ق = ﺧﺎﻣﻮش‬
‫ﻮش‬ ‫اﺣﺘﺮاق‬
‫ﺮ‬
‫رﻳﺴﺖ و ﻛﻠﻴﺪ ‪ ] | 2‬اﺣﺘﺮاق = روﺷﻦ [‬
‫ﭘﻴﻜﺮﺑﻨﺪي‬
‫ﭘﻴﻜﺮﺑﻨﺪي‬
‫ﺟﺪﻳﺪ‬
‫ﺗﻐﻴﻴﺮ ﻳﺎﻓﺘﻪ‬
‫‪Driver 1‬‬
‫] اﺣﺘﺮاق = روﺷﻦ [ | رﻳﺴﺖ و ﻛﻠﻴﺪ ‪1‬‬

‫‪٤٩‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .2‬ﻋﺒﺎرات ﻣﻨﻄﻘﻲ‬

‫)‪( (a > b) or G ) and (x < y‬‬

‫ﮔ ا ﺎ‬
‫ﮔﺬارﻫﺎ‬
‫ﻋﺒﺎرات‬
‫ﮔﻴﺮي ﺑ ﻧﺎﻣﻪ‬
‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺗﺼﻤﻴﻢ ﮔ ي‬
‫ﻋﺒﺎرﺗﻬﺎي ﺗﺼﻤ ﻢ‬
‫ﻋ ﺎ ﺗﻬﺎي‬
‫ﻣﻨﻄﻘﻲ‬

‫ﻣﺸﺨﺼﻪ ﻫﺎي ﻧﺮم اﻓﺰار‬

‫‪٥٠‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .2‬ﻋﺒﺎرات ﻣﻨﻄﻘﻲ‬

‫)‪( (a > b) or G ) and (x < y‬‬


‫ﭘﻮﺷﺶ ﮔﺰاره )‪ :(predicate‬ﻫﺮ ﮔﺰاره ﺑﺎﻳﺪ ﻳﻚ ﺑﺎر درﺳﺖ )‪ (T‬و ﻳﻚ ﺑﺎر ﻧﺎدرﺳﺖ )‪ (F‬ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬

‫‪( (a>b) or G ) and (x < y) = True,‬‬


‫‪True False‬‬

‫ﭘﻮﺷﺶ ﺟﺰء )‪ :(clause‬ﻫﺮ ﺟﺰء ﺑﺎﻳﺪ ﻳﻚ ﺑﺎر درﺳﺖ)‪ (T‬و ﻳﻚ ﺑﺎر ﻧﺎدرﺳﺖ )‪ (F‬ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬
‫‪(a > b) = True, False‬‬
‫‪G = True, False‬‬
‫‪(x < y) = True, False‬‬

‫ﭘﻮﺷﺶ ﺗﺮﻛﻴﺒﻴﺎﺗﻲ )‪ :(combinatorial‬ﺗﺮﻛﻴﺒﺎت ﻣﺘﻌﺪدي از ﺟﺰءﻫﺎ‬ ‫‪‬‬


‫• ﭘﻮﺷﺶ ﺟﺰء ﻓﻌﺎل‪ :‬ﻫﺮ ﺟﺰء ﺑﺎﻳﺪ ﺗﻌﻴﻴﻦ ﻛﻨﻨﺪه ﻧﺘﻴﺠﻪ ﮔﺰاره ﺑﺎﺷﺪ‪.‬‬

‫‪٥١‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪.2‬ﭘﻮﺷﺶ ﺷﺮﻃﻲ ﻣﻨﻄﻘﻲ ﻓﻌﺎل‬

‫)‪( (a > b) or G ) and (x < y‬‬


‫ﺑﺎ اﻳﻦ ﻣﻘﺎدﻳﺮ ﺑﺮاي ‪ G‬و‬ ‫‪1‬‬ ‫‪T‬‬ ‫‪F‬‬ ‫‪T‬‬
‫)‪ (a>b) ،(x<y‬ﺗﻌﻴﻴﻦ‬
‫ﻛﻨﻨﺪه ﻣﻘﺪار ﮔﺰاره اﺳﺖ‪.‬‬
‫‪2‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬
‫‪3‬‬ ‫‪F‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫ﺗﻜﺮاري‬

‫‪4‬‬ ‫‪F‬‬ ‫‪F‬‬ ‫‪T‬‬


‫‪5‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪T‬‬
‫‪6‬‬ ‫‪T‬‬ ‫‪T‬‬ ‫‪F‬‬
‫‪٥٢‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .3‬ﺗﻮﺻﻴﻒ داﻣﻨﻪ ورودي‬

‫ﺗﻮﺻﻴﻒ داﻣﻨﻪ ورودي ﻧﺮم اﻓﺰار‬ ‫‪‬‬


‫• ﺷﻨﺎﺳﺎﻳﻲ وروديﻫﺎ‪ ،‬ﭘﺎراﻣﺘﺮﻫﺎ‪ ،‬و ‪...‬‬
‫• اﻓﺮاز ﻫﺮ ورودي ﺑﻪ ﻣﺠﻤﻮﻋﻪ ﻫﺎي ﻣﺘﻨﺎﻫﻲ از ﻣﻘﺎدﻳﺮ‬
‫• اﻧﺘﺨﺎب ﺗﺮﻛﻴﺒﻲ از ﻣﻘﺎدﻳﺮ‬
‫ﺳﻄﺢ ﺳﻴﺴﺘﻢ‬ ‫‪‬‬
‫• ﺗﻌﺪاد داﻧﺸﺠﻮﻳﺎن } ‪{ 0, 1, >1‬‬
‫‪{ 600,‬‬
‫‪600 700,‬‬ ‫• ﻣﻘﻄﻊ ﺗﺤﺼﻴﻠ‬
‫ﺗﺤﺼﻴﻠﻲ } ‪700 800‬‬
‫• رﺷﺘﻪ } ‪{ swe, cs, isa, infs‬‬
‫ﺳﻄﺢ واﺣﺪ‬ ‫‪‬‬
‫‪F (int‬‬
‫‪(i X, int‬‬ ‫• ﭘﺎراﻣﺘﺮﻫﺎ ))‪i Y‬‬
‫• ﻣﻘﺎدﻳﺮ ﻣﻤﻜﻦ } ‪X: { <0, 0, 1, 2, >2 }, Y : { 10, 20, 30‬‬
‫• ﺗﺴﺖﻫﺎ‬
‫)‪F (-5, 10), F (0, 20), F (1, 30), F (2, 10), F (5, 20‬‬ ‫‪‬‬

‫‪٥٣‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫‪ .4‬ﺳﺎﺧﺘﺎرﻫﺎي ﻧﺤﻮي‬

‫ﻣﺒﺘﻨﻲ ﺑﺮ ﻳﻚ ﮔﺮاﻣﺮ‪ ،‬ﻳﺎ دﻳﮕﺮ ﺗﻌﺮﻳﻒ ﻫﺎي ﻧﺤﻮي )‪ (syntactic‬اﺳﺖ‪.‬‬ ‫‪‬‬


‫ﻧﻤﻮﻧﻪ اﺻﻠﻲ آن‪ ،‬ﺗﺴﺖ ﺟﻬﺶ )‪ (mutation‬اﺳﺖ‪.‬‬ ‫‪‬‬
‫‪ .1‬اﻳﺠﺎد ﺗﻐﻴﻴﺮات ﻛﻮﭼﻚ )ﺟﻬﺶ( در ﺑﺮﻧﺎﻣﻪ‪ :‬ﺗﻮﻟﻴﺪ ﺟﻬﺸﮕﺮﻫﺎ )‪(mutants‬‬
‫‪ .2‬ﻳﺎﻓﺘﻦ ﺗﺴﺘﻬﺎﻳﻲ ﻛﻪ ﻣﻮﺟﺐ ﺧﺮاﺑﻲ ﻫﺮ ﺟﻬﺸﮕﺮ ﺷﻮﻧﺪ‪ :‬ﻛﺸﺘﻦ ﺟﻬﺸﮕﺮﻫﺎ‬
‫‪ .3‬ﺧﺮاﺑﻲ در اﻳﻨﺠﺎ = ﺗﻔﺎوت ﺧﺮوﺟﻲ ﺟﻬﺸﮕﺮ ﺑﺎ ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ اﺻﻠﻲ‪.‬‬
‫‪ .4‬ﺑﺮرﺳﻲ ﺧﺮوﺟﻲ ﺗﺴﺖ ﻫﺎي ﻣﻔﻴﺪ روي ﺑﺮﻧﺎﻣﻪ ي اﺻﻠﻲ‬
‫ﺟﻬﺸﮕﺮﻫﺎي آآن‬
‫ﻧﻤﻮﻧﻪ و ﻬﺸﮕ ﻫﺎ‬
‫ﺑﺮﻧﺎﻣﻪ ﻧ ﻧﻪ‬
‫ﻚ ﻧﺎ ﻪ‬ ‫ﻳﻚ‬ ‫‪‬‬
‫)‪if (x > y‬‬ ‫)‪if (x > y‬‬
‫;‪z = x - y‬‬ ‫)‪Δif (x >= y‬‬
‫‪else‬‬ ‫;‪z = x - y‬‬
‫;‪z = 2 * x‬‬ ‫;‪Δ z = x + y‬‬
‫;‪Δ z = x – m‬‬
‫‪else‬‬
‫‪l‬‬
‫;‪z = 2 * x‬‬
‫‪٥٤‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻣﻨﺒﻊ ﺳﺎﺧﺘﺎرﻫﺎ‬

‫اﻳﻦ ﺳﺎﺧﺘﺎرﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ از ﺗﻌﺪاد زﻳﺎدي از ﻓﺮآوردهﻫﺎي ﻧﺮماﻓﺰاري اﺳﺘﺨﺮاج‬ ‫‪‬‬


‫ﺷﻮﻧﺪ‪.‬‬
‫ﮔﺮافﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ از ﻣﻮارد ﻛﺎرﺑﺮدي )‪ ،UML (use case‬ﻣﺎﺷﻴﻦ ﻫﺎي ﺣﺎﻟﺖ ﻣﺘﻨﺎﻫﻲ‪ ،‬ﻛﺪ‬ ‫•‬
‫ﺷﻮﻧﺪ‪.‬‬
‫ج ﻮ‬
‫اﺳﺘﺨﺮاج‬
‫ﺮ‬ ‫ﺒﻊ و ‪...‬‬
‫ﻣﻨﺒﻊ‬
‫ﻋﺒﺎرات ﻣﻨﻄﻘﻲ ﻣﻲﺗﻮاﻧﻨﺪ از ﺗﺼﻤﻴﻢﻫﺎي داﺧﻞ ﻛﺪ ﻣﻨﺒﻊ ﺑﺮﻧﺎﻣﻪ‪ ،‬ﮔﺎردﻫﺎي روي ﮔﺬارﻫﺎ‬ ‫•‬
‫)ﺷﺮﻃﻬﺎي ﻧﮕﻬﺒﺎن روي اﻧﺘﻘﺎل ﺑﻴﻦ ﺣﺎﻟﺘﻬﺎ(‪ ،‬ﺷﺮوط ﻣﻮﺟﻮد در ‪ use case‬و ‪ ...‬اﺳﺘﺨﺮاج ﺷﻮﻧﺪ ‪.‬‬

‫ﺗﺴﺖ ﻣﺒﺘﻨﻲ ﺑﺮ ﻣﺪل‪:‬‬ ‫‪‬‬


‫ﺗﺴﺘﻬﺎ را از ﻣﺪﻟﻲ اﺳﺘﺨﺮاج ﻣﻲﻛﻨﺪ ﻛﻪ ﺟﻨﺒﻪ اي از ﺳﻴﺴﺘﻢ ﺗﺤﺖ ﺗﺴﺖ را ﺗﻮﺻﻴﻒ ﻣﻲﻧﻤﺎﻳﺪ‪.‬‬ ‫•‬
‫ﻣﻌﻤﻮﻻً ﻣﺪل ﺑﺨﺸﻲ از رﻓﺘﺎر را ﺗﻮﺻﻴﻒ ﻣﻲ ﻛﻨﺪ ‪.‬‬ ‫•‬
‫ﻛﺪ ﻣﻨﺒﻊ ﻣﻌﻤﻮﻻً ﻣﺪل ﻣﺤﺴﻮب ﻧﻤﻲﺷﻮد ‪.‬‬ ‫•‬

‫‪٥٥‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺳﺎﺧﺘﺎر ﺑ اي‬
‫ﺑﺮاي‬ ‫ﭼﻬﺎر ﺳﺎﺧﺘﺎ‬
‫ﭼﻬﺎ‬ ‫ﻛﻠﻴﺎت ﭘﻮﺷﺶ‬
‫ﻣﺪل ﺳﺎزي ﻧﺮم اﻓﺰار‬

‫ﮔﺮاف ﻫﺎ‬ ‫ﻣﻨﻄﻖ‬ ‫ﻓﻀﺎي ورودي‬ ‫ﻧﺤﻮ‬


‫ﻛﺎرﺑﺮد در‬

‫ﻛﺎرﺑﺮد در‬ ‫ﻛﺎرﺑﺮد در‬


‫ﻣﻨ ﻊ‬
‫ﻣﻨﺒﻊ‬ ‫‪FSMs‬‬

‫ﻓﺮم ﻧﺮﻣﺎل‬
‫ﻣﺸﺨﺼﻪ ﻫﺎ‬
‫ﻓﺼﻠﻲ )‪(DNF‬‬

‫ﻣﻨﺒﻊ‬ ‫ﻣﺸﺨﺼﻪ ﻫﺎ‬ ‫ﻣﻨﺒﻊ‬ ‫ﻣﺪل ﻫﺎ‬

‫ﻃﺮاﺣﻲ‬ ‫ﻣﻮارد ﻛﺎرﺑﺮي )‪(UC‬‬ ‫ﻳﻜﭙﺎرﭼﻪ ﺳﺎزي‬ ‫ورودي‬

‫‪٥٦‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﭘﻮﺷﺶ‬
‫ﺑﺎ در اﺧﺘﻴﺎر داﺷﺘﻦ ﻣﺠﻤﻮﻋﻪ اي از ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آزﻣﻮن )‪ (TR‬ﺑﺮاي ﻣﻌﻴﺎر ﭘﻮﺷﺶ ‪ : C‬ﻣﺠﻤﻮﻋﻪ‬
‫آزﻣﻮن ‪ ، T‬ﭘﻮﺷﺶ ‪ C‬را ﺑﺮآورده ﻣﻲ ﻛﻨﺪ اﮔﺮ و ﻓﻘﻂ اﮔﺮ ﺑﺮاي ﻫﺮ ﻧﻴﺎزﻣﻨﺪي آزﻣﻮن ‪ tr‬در ‪،TR‬‬
‫ﺣﺪاﻗﻞ ﻳﻚ آزﻣﻮن ‪ t‬در ‪ T‬وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﺪ ﺑﻪ ﻃﻮري ﻛﻪ ‪ tr ،t‬را ﺑﺮآورده ﻛﻨﺪ‪.‬‬

‫ﻧﻴﺎزﻣﻨﺪي ﻫﺎي آزﻣﻮن ﻧﺎﻣﻤﻜﻦ )‪:(Infeasible‬‬ ‫‪‬‬


‫• ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آزﻣﻮﻧﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﻧﻤﻲﺗﻮاﻧﻨﺪ ﺑﺮآورده ﺷﻮﻧﺪ‪.‬‬
‫ﺑﺮآورده ﻛﻛﻨﺪ‪.‬‬
‫را آ‬‫ﻫﺎي آآزﻣﻮن ا‬
‫ﻧﻴﺎزﻣﻨﺪي ﺎ‬
‫ﻧﺪارد ﻛﻛﻪ ﭼﻨﻴﻦ ﺎ‬
‫ﻣﻘﺪار ﻣﻮرد آآزﻣﻮﻧﻲ وﺟﻮد ا‬
‫ا‬ ‫• ﻫﻴﭻ‬
‫• ﻛﺪﻫﺎي ﻣﺮده‬
‫• ﺗﺸﺨﻴﺺ ﻧﻴﺎزﻣﻨﺪﻳﻬﺎي آزﻣﻮن ﻧﺎﻣﻤﻜﻦ ﺑﺮاي اﻏﻠﺐ ﻣﻌﻴﺎرﻫﺎي آزﻣﻮن ﻣﺴﺄﻟﻪاي ﺗﺼﻤﻴﻢ ﻧﺎﭘﺬﻳﺮ اﺳﺖ‬
‫ﺑﺮﺳﺪ((‪.‬‬
‫ﺟﻮاب ﺪ‬
‫ﻳﻚ ا‬
‫اﻧﺪ ﺑﻪﻪ ﻚ‬
‫ﺑﺘﻮاﻧﺪ‬
‫ﺷﺖ ﻛﻪ ﻫﻫﺮ ﺎﺑﺎر ﺘ‬
‫ﺛﺎﺑﺘﻲ ﻧﻧﻮﺷﺖ‬
‫اﻟﮕﻮرﻳﺘﻢ ﺛﺎ ﺘ‬
‫ﺑﺮاي آآن اﻟﮕ ﺘ‬
‫ﺗﻮان ا‬
‫ﻳﻌﻨﻲ ﻧﻧﻤﻲ ﺗ ا‬
‫) ﻨ‬

‫ﻦ اﺳﺖ‪.‬‬
‫ﻏﻴﺮﻣﻤﻜﻦ‬
‫درﺻﺪي‪ ،‬ﻴﺮ‬
‫ﺶ ‪ 100‬ر ي‬
‫ﭘﻮﺷﺶ‬
‫ﻳﻦ ‪ ،‬ﻋﻤﻼً ﭘﻮ‬
‫ﺑﻨﺎﺑﺮاﻳﻦ‬
‫ﺑ ﺑﺮ‬ ‫‪‬‬

‫‪٥٧‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫دو راه ﺑﺮاي اﺳﺘﻔﺎده از ﻣﻌﻴﺎرﻫﺎي ﺗﺴﺖ‬

‫‪ .1‬ﺗﻮﻟﻴﺪ ﻣﺴﺘﻘﻴﻢ ﻣﻘﺎدﻳﺮ ﺗﺴﺖ ﺑﺮاي ﺑﺮآورده ﻛﺮدن ﻣﻌﻴﺎر )ﻣﺤﻘﻘﺎن اﻳﻦ روش را‬
‫واﺿﺢ ﺗﺮﻳﻦ روش ﺑﺮاي اﺳﺘﻔﺎده از ﻣﻌﻴﺎرﻫﺎ و ﺳﺨﺖ ﺗﺮﻳﻦ روش ﺑﺪون‬
‫اﺳﺘﻔﺎده از اﺑﺰارﻫﺎي ﺧﻮدﻛﺎر ﻣﻲ داﻧﻨﺪ‪(.‬‬

‫‪ .2‬ﺗﻮﻟﻴﺪ ﻣﻘﺎدﻳﺮ ﺗﺴﺖ ﺑﻪ ﺻﻮرت ﺧﺎرﺟﻲ‪ ،‬و اﻧﺪازه ﮔﻴﺮي ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﻴﺎر )اﻳﻦ‬
‫روش ﺑﻴﺸﺘﺮ در ﺻﻨﻌﺖ ﻣﻮرد ﺗﻮﺟﻪ و ﻋﻼﻗﻪ اﺳﺖ(‪.‬‬
‫• ﮔﺎﻫﻲ اوﻗﺎت ﻣﻨﺤﺮف ﻛﻨﻨﺪه اﺳﺖ ‪.‬‬
‫• اﮔﺮ ﺗﺴﺖ ﻫﺎ ﭘﻮﺷﺶ دﻫﻲ ‪ 100‬درﺻﺪي را اﻳﺠﺎد ﻧﻜﻨﻨﺪ‪ ،‬اﻳﻦ ﭼﻪ ﻣﻌﻨﺎﻳﻲ دارد؟‬

‫ﻣﻌﻴﺎرﻫﺎي ﺗﺴﺖ‪ ،‬ﮔﺎﻫﻲ ﺳﻨﺠﻪ )‪ (metric‬ﻧﺎﻣﻴﺪه ﻣﻲﺷﻮﻧﺪ‪.‬‬

‫‪٥٨‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻣﻮﻟﺪﻫﺎ و ﺷﻨﺎﺳﺎﮔﺮﻫﺎ‬

‫ﻣﻮﻟﺪ )‪ :(Generator‬ﭘﺮوﺳﻴﺠﺮي اﺳﺖ ﻛﻪ ﺑﻪ ﺻﻮرت ﺧﻮدﻛﺎر‪ ،‬ﻣﻘﺎدﻳﺮي را ﺑﺮاي ﺑﺮآورده‬ ‫‪‬‬


‫ﺗﻮﻟﻴﺪ ﻣﻲﻛﻛﻨﺪ‪.‬‬
‫ﻣﻌﻴﺎر ﺗ ﻟ‬
‫ﻳﻚ ﺎ‬ ‫ﻛﻛﺮدن ﻚ‬

‫ﺷﻨﺎﺳﺎﮔﺮ )‪ :(Recognizer‬ﭘﺮوﺳﻴﺠﺮي اﺳﺖ ﻛﻪ ﺗﺼﻤﻴﻢ ﻣﻲﮔﻴﺮد ﻛﻪ آﻳﺎ ﻣﺠﻤﻮﻋﻪاي ﻣﻌﻴﻦ از‬ ‫‪‬‬
‫ﻣﻘﺎدﻳﺮ ﺗﺴﺖ‪ ،‬ﻳﻚ ﻣﻌﻴﺎر آزﻣﻮن را ﺑﺮآورد ﻣﻲﻛﻨﻨﺪ ﻳﺎ ﺧﻴﺮ‪.‬‬

‫ﻧﺎﭘﺬﻳﺮﺮ ﻫﺴﺘﻨﺪ‪.‬‬
‫ﻢ ﭘ‬ ‫ي اﻛﺜﺮﺮ ﻣﻌﻴﺎرﻫﺎ ﺗﺼﻤﻴﻢ‬
‫ﺑﺮاي‬
‫ﻛﺮد ﻛﻪ ﻫﺮﺮ دو ﻣﺴﺌﻠﻪ ﺮ‬
‫ن ﺛﺎﺑﺖ ﺮ‬
‫ﺗﻮان‬
‫ﻲ ﻮ‬‫ﻣﻲ‬ ‫‪‬‬

‫اﻣﻜﺎن ﺷﻨﺎﺳﺎﻳﻲ اﻳﻨﻜﻪ آﻳﺎ ﻳﻚ ‪ test case‬ﻣﻲﺗﻮاﻧﺪ ﻣﻌﻴﺎري را ﺑﺮآورده ﻛﻨﺪ ﻳﺎ ﺧﻴﺮ ﺑﺴﻴﺎر‬ ‫‪‬‬
‫ﻲ ﻛﻨﻨﺪ‪.‬‬
‫ﺑﺮآورده ﻣﻲ‬
‫ﻣﻌﻴﺎرر را ﺑﺮآور‬
‫ﻳﻲ ﻛﻪ آن ﻴ‬
‫ﺗﻮﻟﻴﺪ ﺗﺴﺖ ﻫﺎﻳﻲ‬
‫ن ﻮﻴ‬ ‫ﺑﻴﺸﺘﺮﺮ ااﺳﺖ از ااﻣﻜﺎن‬
‫ﺑﻴ‬

‫اﺑﺰارﻫﺎي ﺗﺤﻠﻴﻞ ﭘﻮﺷﺶ ﺑﻪ ﻣﻴﺰان ﻓﺮاواﻧﻲ وﺟﻮد دارﻧﺪ‪.‬‬ ‫‪‬‬

‫‪٥٩‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻣﻘﺎﻳﺴﻪ ﻣﻌﻴﺎرﻫﺎ ﺑﺎ اﺳﺘﻔﺎده از ﻣﻔﻬﻮم »در ﺑﺮ داﺷﺘﻦ« )‪(subsumption‬‬

‫راﺑﻄﻪ در ﺑﺮداﺷﺘﻦ ﻣﻴﺎن ﻣﻌﻴﺎرﻫﺎ‪ :‬ﻳﻚ ﻣﻌﻴﺎر آزﻣﻮن ‪ c2 ، c1‬را در ﺑﺮ دارد‪ ،‬اﮔﺮ‬ ‫‪‬‬
‫و ﻓﻘﻂ اﮔﺮ ﻫﺮ ﻣﺠﻤﻮﻋﻪ از ﻣﻮارد آزﻣﻮﻧﻲ ﻛﻪ ﻣﻌﻴﺎر ‪ c1‬را ﺑﺮآورده ﻣﻲ ﻛﻨﺪ‪،‬‬
‫ﻣﻌﻴﺎر ‪ c2‬را ﻫﻢ ﺑﺮآورده ﻛﻨﺪ‪.‬‬

‫اﻳﻦ ﻣﻄﻠﺐ ﺑﺎﻳﺪ ﺑﺮاي ﻫﺮ ﻣﺠﻤﻮﻋﻪ از ﻣﻮارد آزﻣﻮن ﺑﺮﻗﺮار ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬

‫ﻣﺜﺎل‪ :‬اﮔﺮ ﻳﻚ ﻣﺠﻤﻮﻋﻪ آزﻣﻮن ﻫﻤﻪ اﻧﺸﻌﺎﺑﻬﺎي ﺑﺮﻧﺎﻣﻪ اي را ﭘﻮﺷﺶ داده ﺑﺎﺷﺪ‬ ‫‪‬‬
‫)ﻣﻌﻴﺎر اﻧﺸﻌﺎب را ﺑﺮآورده ﻛﺮده ﺑﺎﺷﺪ( آﻧﮕﺎه اﻳﻦ ﻣﺠﻤﻮﻋﻪ آزﻣﻮن ﺑﻪ ﻃﻮر‬
‫داده ااﺳﺖ‪.‬‬
‫ﭘﻮﺷﺶ ا‬
‫را ﻧﻧﻴﺰ ﺷﺶ‬
‫ﻋﺒﺎرات ا‬
‫ﺷﺪه ﻫﻤﻪ ﺎ ا‬
‫ﺗﻀﻤﻴﻦ ﺷ‬
‫ﺗﻀ‬

‫‪٦٠‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﻣﻌﻴﺎرﻫﺎي ﭘﻮﺷﺶ آزﻣﻮن‬

‫ﺗﺴﺖ ﻧﺮم اﻓﺰار ﺑﻪ ﻃﻮر ﺳﻨﺘﻲ‪ ،‬ﻫﺰﻳﻨﻪ ﺑﺮ ﺑﻮده و زﺣﻤﺖ زﻳﺎدي ﻣﻲﻃﻠﺒﺪ ‪.‬‬ ‫‪‬‬
‫ﻣﻌﻴﺎرﻫﺎي ﺻﻮري )‪ (formal‬ﭘﻮﺷﺶ ﺑﺮاي ﺗﺼﻤﻴﻢ ﺟﻬﺖ اﻧﺘﺨﺎب ورودي ﻫﺎي‬ ‫‪‬‬
‫ﺗﺴﺖ‪ ،‬ﺑﻪ ﻛﺎرﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮﻧﺪ ‪.‬‬
‫ﺑﺎﻻﺳﺖ‪.‬‬
‫ﺑﺴﻴﺎر ﺎﻻ‬
‫ﻧﻤﺎﻳﺪ ﺎ‬‫ﭘﻴﺪا ﻧ ﺎ‬
‫را ا‬ ‫ﻣﺸﻜﻼﺗﻲ ا‬
‫آزﻣﻮﻧﮕﺮ‪ ،‬ﺸﻜﻼﺗ‬
‫آﻧﻜﻪ آ ﻧﮕ‬
‫اﺣﺘﻤﺎل آﻧﻜ‬
‫ا ﺎل‬ ‫‪‬‬
‫اﻃﻤﻴﻨﺎن ﺑﻴﺸﺘﺮ درﺑﺎره اﻳﻦ ﻛﻪ ﻧﺮم اﻓﺰار از ﻛﻴﻔﻴﺖ ﺑﺎﻻ و ﻗﺎﺑﻠﻴﺖ اﻃﻤﻴﻨﺎن‬ ‫‪‬‬
‫ﺑﺮﺧﻮردارر ﺑﺑﺎﺷﺪ‪.‬‬
‫ﺑﺮ ﻮر‬
‫ﻫﺪف ﻳﺎ ﻗﺎﻋﺪه ﺗﻮﻗﻒ ﺑﺮاي ﺗﺴﺖ‬ ‫‪‬‬
‫ﻣﻌﻴﺎرﻫﺎ‪ ،‬ﺗﺴﺖ را ﻛﺎرآﻣﺪﺗﺮ و اﺛﺮﺑﺨﺶ ﺗﺮ ﻣﻲ ﻛﻨﻨﺪ‪.‬‬ ‫‪‬‬

‫اﻣﺎ در ﻋﻤﻞ ﺑﺎﻳﺪ ﭼﮕﻮﻧﻪ ﺷﺮوع ﺑﻪ ﺑﻜﺎرﮔﻴﺮي اﻳﻦ اﻳﺪه ﻫﺎ ﻧﻤﻮد ؟‬

‫‪٦١‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺑﺨﺶ ﺳﻮم‪ :‬ﭼﮕﻮﻧﻪ‬

‫ﺣﺎل ﻣﻲداﻧﻴﻢ ﻛﻪ ﭼﺮا و ﭼﻪ ﭼﻴﺰي ‪...‬‬

‫اﻣﺎ ﭼﮕﻮﻧﻪ ﺑﺎﻳﺪ ﺑﻪ آآن ﺑﺮﺳﻴﻢ ؟‬

‫‪٦٢‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺳﻄﻮح ﺗﺴﺖ ﻣﺒﺘﻨﻲ ﺑﺮ ﺑﻠﻮغ ﻓﺮاﻳﻨﺪ ﺗﺴﺖ‬

‫ﺳﻄﺢ ‪ : 0‬ﺗﻔﺎوﺗﻲ ﺑﻴﻦ ﺗﺴﺖ و اﺷﻜﺎل زداﻳﻲ وﺟﻮد ﻧﺪارد ‪.‬‬ ‫‪‬‬

‫ﺳﻄﺢ ‪ : 1‬ﻫﺪف ﺗﺴﺖ ‪ ،‬ﻧﺸﺎن دادن ﺻﺤﺖ و درﺳﺘﻲ اﺳﺖ ‪.‬‬ ‫‪‬‬

‫ﺳﻄﺢ ‪ : 2‬ﻫﺪف ﺗﺴﺖ ﻛﺮدن اﻳﻦ اﺳﺖ ﻛﻪ ﻧﺸﺎن دﻫﻴﻢ ﻧﺮم اﻓﺰار ﻛﺎر ﻧﻤﻲ ﻛﻨﺪ ‪.‬‬ ‫‪‬‬

‫ﺳﻄﺢ ‪ : 3‬ﻫﺪف ﺗﺴﺖ ﻛﺮدن اﺛﺒﺎت ﭼﻴﺰ ﻣﺸﺨﺼﻲ ﻧﻴﺴﺖ‪ ،‬ﺑﻠﻜﻪ ﻛﺎﻫﺶ رﻳﺴﻚ‬ ‫‪‬‬
‫اﺳﺘﻔﺎده از ﻧﺮم اﻓﺰار اﺳﺖ‪.‬‬

‫ﺳﻄﺢ ‪ : 4‬ﺗﺴﺖ ﻛﺮدن ‪ ،‬ﻳﻚ ﻧﻈﻢ ذﻫﻨﻲ اﺳﺖ ﻛﻪ ﺑﻪ ﺗﻤﺎﻣﻲ ﻣﺘﺨﺼﺼﻴﻦ ‪IT‬‬ ‫‪‬‬
‫ﺗﻮﺳﻌﻪ دﻫﻨﺪ‪.‬‬
‫را ﺗ ﻪ‬‫ﺑﺎﻻﺗﺮي ا‬
‫ﻛﻴﻔﻴﺖ ﺎﻻﺗ‬
‫اﻓﺰار ﺎﺑﺎ ﻛ ﻔ ﺖ‬
‫ﻛﻤﻚ ﻣﻲﻛﻨﺪ ﻛﻪ ﻧﻧﺮم اﻓﺰا‬
‫ﻛ ﻚ‬

‫‪٦٣‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﻔﻜﺮ ﺳﻄﺢ ﺻﻔﺮ‬

‫ﻲ اﺳﺖ‪.‬‬
‫ل ززداﻳﻲ‬
‫ن اﺷﻜﺎل‬
‫ن ﻫﻤﺎن‬
‫ﻛﺮدن‬
‫ﺗﺴﺖ ﺮ‬ ‫‪‬‬

‫ﺗﻤﺎﻳﺰي ﺑﻴﻦ رﻓﺘﺎر ﻧﺎدرﺳﺖ و اﺷﺘﺒﺎه در ﺑﺮﻧﺎﻣﻪ ﻗﺎﺋﻞ ﻧﻤﻲ ﺷﻮد ‪.‬‬ ‫‪‬‬

‫ﺑﻪ ﺗﻮﺳﻌﻪ ي ﻧﺮم اﻓﺰار ﻗﺎﺑﻞ اﻃﻤﻴﻨﺎن ﻳﺎ اﻳﻤﻦ ﻛﻤﻜﻲ ﻧﻤﻲ ﻛﻨﺪ‪.‬‬ ‫‪‬‬

‫اﻳﻦ ﭼﻴﺰي اﺳﺖ ﻛﻪ ﺑﻪ داﻧﺸﺠﻮﻳﺎن دوره ي ﻛﺎرﺷﻨﺎﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ آﻣﻮزش داده ﻣﻲﺷﻮد‪.‬‬

‫‪٦٤‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﻔﻜﺮ ﺳﻄﺢ ﻳﻚ‬

‫ﻫﺪف ﻧﺸﺎن دادن درﺳﺘﻲ اﺳﺖ ‪.‬‬ ‫‪‬‬


‫دﺳﺘﻴﺎﺑﻲ ﺑﻪ درﺳﺘﻲ ﻏﻴﺮﻣﻤﻜﻦ اﺳﺖ ‪.‬‬ ‫‪‬‬
‫در ﺻﻮرﺗﻲ ﻛﻪ ﻫﻴﭻ ﺧﺮاﺑﻲ رخ ﻧﺪﻫﺪ‪ ،‬ﭼﻪ ﻧﺘﻴﺠﻪ اي ﻣﻲ ﺗﻮان ﮔﺮﻓﺖ ؟‬ ‫‪‬‬
‫آآﻳﺎ ﻧﺮم اﻓﺰار ﺧﻮب اﺳﺖ ﻳﺎ ﺑﺪ؟‬ ‫•‬

‫ﻣﻬﻨﺪﺳﺎن ﺗﺴﺖ ﻓﺎﻗﺪ ﻣﻮارد زﻳﺮ ﻫﺴﺘﻨﺪ ‪:‬‬ ‫‪‬‬


‫• ﻫﺪف دﻗﻴﻖ‬
‫• ﻗﺎﻋﺪه واﻗﻌﻲ ﺗﻮﻗﻒ ﺗﺴﺖ‬
‫ﻚ ﺻﻮري ﺗ ﺖ‬
‫ﺗﺴﺖ‬ ‫• ﺗﻜﻨ‬
‫ﺗﻜﻨﻴﻚ‬
‫ﻣﺪﻳﺮان ﺗﺴﺖ ﻗﺪرﺗﻲ ﻧﺪارﻧﺪ‪.‬‬ ‫‪‬‬

‫دارﻧﺪ‪.‬‬
‫اﻧﺘﻈﺎر دا ﻧﺪ‬
‫اﻏﻠﺐ اﻧﺘﻈﺎ‬
‫اﻓﺰار اﻏﻠ‬
‫ﺳﺨﺖ اﻓﺰا‬
‫ﻣﻬﻨﺪﺳﺎن ﺨﺖ‬
‫اﺳﺖ ﻛﻪ ﻬﻨﺪ ﺎ‬
‫ﭼﻴﺰي ا ﺖ‬
‫ااﻳﻦ ﺰ‬

‫‪٦٥‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﻔﻜﺮ ﺳﻄﺢ دوم‬

‫ﻫﺪف‪ ،‬ﻧﺸﺎن دادن ﺧﺮاﺑﻲ اﺳﺖ ‪.‬‬ ‫‪‬‬

‫ﺟﺴﺘﺠﻮي ﺧﺮاﺑﻲ‪ ،‬ﻓﻌﺎﻟﻴﺘﻲ ﻣﻨﻔﻲ اﺳﺖ‪.‬‬ ‫‪‬‬

‫آزﻣﻮﻧﮕﺮان و ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن را در راﺑﻄﻪ اي ﺧﺼﻤﺎﻧﻪ ﻗﺮار ﻣﻲدﻫﺪ‪.‬‬ ‫‪‬‬

‫در ﺻﻮرﺗﻲ ﻛﻪ ﻫﻴﭻ ﺧﺮاﺑﻲ رخ ﻧﺪﻫﺪ‪ ،‬ﭼﻪ ﻣﻲﺗﻮان ﮔﻔﺖ ؟‬ ‫‪‬‬

‫اﻳﻦ ﻣﻮارد‪ ،‬ﺗﻮﺻﻴﻒ ﻛﻨﻨﺪه اﻏﻠﺐ ﺷﺮﻛﺖ ﻫﺎي ﻧﺮم اﻓﺰاري اﺳﺖ‪.‬‬
‫ﺣﺎل ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮاﻧﻴﻢ ﺑﻪ ﺳﻮي ﻳﻚ روﻳﻜﺮد ﺗﻴﻤﻲ ﭘﻴﺶ ﺑﺮوﻳﻢ ؟‬

‫‪٦٦‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﻔﻜﺮ ﺳﻄﺢ ﺳﻮم‬

‫ﺗﺴﺖ ﻛﺮدن ﺗﻨﻬﺎ ﻣﻲ ﺗﻮاﻧﺪ وﺟﻮد ﺧﺮاﺑﻲ را ﻧﺸﺎن دﻫﺪ‪.‬‬ ‫‪‬‬

‫ﻫﻨﮕﺎم اﺳﺘﻔﺎده از ﻧﺮم اﻓﺰار ‪ ،‬ﻣﺘﺤﻤﻞ رﻳﺴﻚ ﻫﺎﻳﻲ ﻣﻲ ﺷﻮﻳﻢ‪.‬‬ ‫‪‬‬

‫ﻣﻤﻜﻦ اﺳﺖ ﻛﻪ رﻳﺴﻚ ﻛﻮﭼﻚ ﺑﺎﺷﺪ و ﻧﺘﻴﺠﻪ آن اﻫﻤﻴﺖ ﭼﻨﺪاﻧﻲ ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬ ‫‪‬‬

‫آﻣﻴﺰﺰ ﺑﺎﺷﺪ‪.‬‬
‫ﺠﻪ آن ﻓﺎﺟﻌﻪ آﻣ‬
‫ﻧﺘﻴﺠﻪ‬
‫ﺑﺰرگ ﺑﻮده و ﻧﺘ‬
‫رﻳﺴﻚ ﺑﺰ گ‬
‫ﻣﻤﻜﻦ اﺳﺖ ﻳ ﻚ‬ ‫‪‬‬

‫ﺗﺴﺖ ﻛﻨﻨﺪه و ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن ﺑﺮﻧﺎﻣﻪ ‪ ،‬ﺑﺎ ﻫﻢ و ﺑﺮاي ﻛﺎﻫﺶ رﻳﺴﻚ ﻫﺎ‪ ،‬ﻛﺎر ﻣﻲ ﻛﻨﻨﺪ‪.‬‬ ‫‪‬‬

‫اﻳﻦ ﻣﻮارد‪ ،‬ﺷﻤﺎر اﻧﺪﻛﻲ از ﺷﺮﻛﺖ ﻫﺎي ﻧﺮم اﻓﺰاري »آﮔﺎه« را ﺗﻮﺻﻴﻒ ﻣﻲ ﻛﻨﺪ ‪.‬‬

‫‪٦٧‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺗﻔﻜﺮ ﺳﻄﺢ ﭼﻬﺎرم‬

‫ﻳﻚ ﻧﻈﻢ ذﻫﻨﻲ ﻛﻪ ﻛﻴﻔﻴﺖ را اﻓﺰاﻳﺶ ﻣﻲ دﻫﺪ‬

‫ﺗﺴﺖ ﻛﺮدن ﺗﻨﻬﺎ ﻳﻚ راه ﺑﺮاي اﻓﺰاﻳﺶ ﻛﻴﻔﻴﺖ اﺳﺖ ‪.‬‬ ‫‪‬‬

‫ﻣﻬﻨﺪﺳﺎن ﺗﺴﺖ‪ ،‬ﻣﻲ ﺗﻮاﻧﻨﺪ ﺑﻪ راﻫﺒﺮان ﻓﻨﻲ ﭘﺮوژه ﺗﺒﺪﻳﻞ ﺷﻮﻧﺪ ‪.‬‬ ‫‪‬‬

‫ﻣﻬﻤﺘﺮﻳﻦ ﻣﺴﺌﻮﻟﻴﺖ‪ ،‬اﻧﺪازه ﮔﻴﺮي و ﺑﻬﺒﻮد ﻛﻴﻔﻴﺖ ﻧﺮم اﻓﺰار اﺳﺖ ‪.‬‬ ‫‪‬‬

‫ﺗﺠﺮﺑﻪ ﻣﻬﻨﺪﺳﺎن ﺗﺴﺖ ﺑﺎﻳﺪ ﺑﻪ ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن ﺑﺮﻧﺎﻣﻪ ﻛﻤﻚ ﻛﻨﺪ ‪.‬‬ ‫‪‬‬

‫‪٦٨‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮان ﺗﺴﺖ را ﺑﻬﺒﻮد ﺑﺨﺸﻴﺪ؟‬

‫آزﻣﻮﻧﮕﺮان ﺑﻪ اﺑﺰارﻫﺎي ﻧﺮم اﻓﺰاري ﺑﻴﺸﺘﺮ و ﺑﻬﺘﺮ ﻧﻴﺎزﻣﻨﺪﻧﺪ‪.‬‬ ‫‪‬‬

‫آزﻣﻮﻧﮕﺮان ﻧﻴﺎز دارﻧﺪ ﻛﻪ ﻓﻌﺎﻟﻴﺘﻬﺎ و ﺗﻜﻨﻴﻚ ﻫﺎﻳﻲ را اﻧﺘﺨﺎب ﻛﻨﻨﺪ ﻛﻪ ﻣﻨﺠﺮﺑﻪ‬ ‫‪‬‬
‫ﺷﻮد ‪.‬‬
‫اﺛﺮﺑﺨﺶ ﺗﺗﺮ ﻣﻲ ﺷ‬
‫ﻛﺎرآﺗﺮ و اﺛ ﺨﺶ‬
‫ﺗﺗﺴﺖ ﻛﺎ آﺗ‬
‫آﻣﻮزش ﺑﻴﺸﺘﺮ‬ ‫•‬
‫راﻫﺒﺮدﻫﺎي ﺳﺎزﻣﺎﻧﻲ ﻣﺪﻳﺮﻳﺘﻲ ﮔﻮﻧﺎﮔﻮن‬ ‫•‬

‫ﺗﻴﻢ ﻫﺎي ﺗﺴﺖ ‪ /‬ﺗﻀﻤﻴﻦ ﻛﻴﻔﻴﺖ )‪ (QA‬ﺑﻪ ﺗﺨﺼﺺ ﻫﺎي ﻓﻨﻲ ﺑﻴﺸﺘﺮي ﻧﻴﺎزﻣﻨﺪﻧﺪ‪.‬‬ ‫‪‬‬
‫اﺳﺖ ‪.‬‬
‫ﻛﺮده ا ﺖ‬
‫ﭘﻴﺪا ﻛ د‬
‫اﻓﺰاﻳﺶ ﺪا‬
‫زﻳﺎدي اﻓﺰا ﺶ‬
‫ﻣﻴﺰان ز ﺎد‬
‫ﺑﻪ ﺰا‬‫دﻫﻨﺪﮔﺎن‪ ،‬ﻪ‬
‫ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎ‬
‫ﺗﺨﺼﺺ ﺗ ﻪ‬
‫ﺗﺨ‬ ‫•‬

‫ﺗﻴﻢ ﻫﺎي ﺗﺴﺖ ‪ QA /‬ﻧﻴﺎزﻣﻨﺪ ﺗﺨﺼﺼﻲ ﺗﺮ ﺷﺪن ﺑﻴﺸﺘﺮ ﻫﺴﺘﻨﺪ ‪.‬‬ ‫‪‬‬
‫ﻫﻤﻴﻦ ﮔﺮاﻳﺶ در دﻫﻪ ‪ 1990‬ﺑﺮاي ﺗﻮﺳﻌﻪ اﺗﻔﺎق اﻓﺘﺎد‪.‬‬ ‫•‬
‫‪٦٩‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﭼﻬﺎر ﻣﺎﻧﻊ ﺑﺮاي ﭘﺬﻳﺮش ﻋﻮاﻣﻞ ﻣﺆﺛﺮ ﺑﺮ ﺑﻬﺒﻮد ﺗﺴﺖ‬

‫‪ -1‬ﻛﻤﺒﻮد آﻣﻮزش ﺗﺴﺖ‬ ‫‪‬‬


‫ﺑﻴﻞ ﮔﻴﺘﺲ‪» :‬ﻧﻴﻤﻲ از ﻣﻬﻨﺪﺳﺎن ‪ MS‬آآزﻣﻮﻧﮕﺮ ﻫﺴﺘﻨﺪ؛ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎن ﻧﻴﻤﻲ از وﻗﺖ ﺧﻮد را ﺻﺮف ﺗﺴﺖ ﻣﻲ ﻛﻨﻨﺪ«‬ ‫•‬
‫ﺗﺴﺖ ﻧﺮم اﻓﺰار در دوره ﻫﺎي ﻛﺎرﺷﻨﺎﺳﻲ و ﻛﺎرﺷﻨﺎﺳﻲ ارﺷﺪ ﻋﻠﻮم ﻛﺎﻣﭙﻴﻮﺗﺮ در اﻣﺮﻳﻜﺎ اﻟﺰاﻣﻲ ﻧﻴﺴﺖ )ﺗﻌﺪاد ﻛﻞ‬ ‫•‬
‫ﻛﻼﺳﻬﺎي ﺗﺴﺖ در اﻳﻦ دوره ﻫﺎ ﺣﺪود ‪ 25‬ﻛﻼس اﺳﺖ(‪.‬‬
‫‪ -2‬ﻟﺰوم ﺗﻐﻴﻴﺮ ﻓﺮاﻳﻨﺪ‬ ‫‪‬‬
‫ﭘﺬﻳﺮش ﺑﺴﻴﺎري از ﺗﻜﻨﻴﻜﻬﺎ و اﺑﺰارﻫﺎي ﺗﺴﺖ ﻧﻴﺎزﻣﻨﺪ ﺗﻐﻴﻴﺮاﺗﻲ در ﻓﺮاﻳﻨﺪ ﺗﻮﺳﻌﻪ اﺳﺖ‪.‬‬ ‫•‬
‫اﻳﻦ ﻛﺎر ﺑﺮاي ﺑﺴﻴﺎري از ﺷﺮﻛﺘﻬﺎي ﻧﺮم اﻓﺰاري ﺑﺴﻴﺎر ﮔﺮان اﺳﺖ‪.‬‬ ‫•‬
‫‪-3‬ﻗﺎﺑﻠﻴﺖ اﺳﺘﻔﺎده اﺑﺰارﻫﺎ‬ ‫‪‬‬
‫اﺳﺘﻔﺎده از ﺑﺴﻴﺎري از اﺑﺰارﻫﺎ ﻧﻴﺎزﻣﻨﺪ آن اﺳﺖ ﻛﻪ ﻛﺎرﺑﺮ از ﺗﺌﻮري ﻣﺮﺑﻮﻃﻪ آﮔﺎه ﺑﺎﺷﺪ‬ ‫•‬
‫اﻣﺎ ﻧﺒﺎﻳﺪ اﻳﻨﻄﻮر ﺑﺎﺷﺪ )ﻳﻚ راﻧﻨﺪه ﻧﺒﺎﻳﺪ ﺑﺮاي راﻧﺪن ﻳﻚ وﺳﻴﻠﻪ ﻧﻘﻠﻴﻪ ﻧﻴﺎزي ﺑﻪ آﮔﺎﻫﻲ از ﻧﺤﻮه اﺣﺘﺮاق داﺧﻠﻲ آن‬ ‫•‬
‫داﺷﺘﻪ ﺑﺎﺷﺪ؛ ﺑﺮاي اﺳﺘﻔﺎده از ﻳﻚ ﻛﺎﻣﭙﺎﻳﻠﺮ ﻧﻴﺎزي ﺑﻪ داﻧﺴﺘﻦ ﻧﺤﻮه ﻛﺎر ﭘﺎرﺳﺮ و ﺗﻮﻟﻴﺪ ﺧﻮدﻛﺎر ﻛﺪ ﻧﺪارﻳﻢ(‬
‫‪ -4‬اﺑﺰارﻫﺎي ﺿﻌﻴﻒ و ﻏﻴﺮاﺛﺮﺑﺨﺶ‬ ‫‪‬‬
‫اﻛﺜﺮ اﺑﺰارﻫﺎي ﺗﺴﺖ ﻛﺎر زﻳﺎدي اﻧﺠﺎم ﻧﻤﻲ دﻫﻨﺪ – وﻟﻲ اﻏﻠﺐ ﻛﺎرﺑﺮان ﻧﻤﻲ داﻧﻨﺪ ﻛﻪ اﻳﻦ اﺑﺰار ﻣﻲ ﺗﻮاﻧﺪ ﺑﻬﺘﺮ از اﻳﻦ‬ ‫•‬
‫ﺑﺎﺷﺪ‬
‫ﻛﻨﻨﺪ‪.‬‬
‫ﺣﻞ ﻛﻨﻨ‬
‫را ﻞ‬‫ﻣﻘﺎدﻳﺮ ﺗﺗﺴﺖ( ا‬‫ﺧﻮدﻛﺎر ﻘﺎ‬
‫ﺗﻮﻟﻴﺪ ﺧ ﻛﺎ‬
‫ﻳﻌﻨﻲ ﺗ ﻟ‬
‫ﻛﻠﻴﺪي ) ﻨ‬
‫ﻓﻨﻲ ﻛﻠ‬
‫ﻣﺴﺎﻟﻪ ﻓﻨ‬
‫ﺗﻮاﻧﻨﺪ ﺎﻟ‬
‫ﻫﺴﺘﻨﺪ ﻛﻛﻪ ﻣﻲ ﺗ اﻧﻨ‬
‫ﻨ‬ ‫اﺑﺰارﻫﺎي ﻛﻛﻤﻲ‬
‫ا ا ﺎ‬ ‫•‬

‫‪٧٠‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺧﻼﺻﻪ‬

‫ﺗﺴﺖ ﺑﻴﺸﺘﺮ ﻣﻮﺟﺐ ﺻﺮﻓﻪ ﺟﻮﻳﻲ ﻣﻨﺎﺑﻊ ﻣﺎﻟﻲ ﻣﻲ ﺷﻮد‪.‬‬ ‫‪‬‬


‫ﺑﺮﻧﺎﻣﻪ رﻳﺰي ﺑﺮاي ﺗﺴﺖ‪ ،‬ﻣﻮﺟﺐ ﺻﺮﻓﻪ ﺟﻮﻳﻲ ﻣﻘﺪار زﻳﺎدي از ﻣﻨﺎﺑﻊ ﻣﺎﻟﻲ ﻣﻲ ﺷﻮد‪.‬‬ ‫•‬

‫ﻧﺪارد‪.‬‬
‫را ﻧ ا‬
‫ﻫﻨﺮ ا‬
‫ﻳﻚ ﻨ‬
‫دﻳﮕﺮ ﺷﻜﻞ ﻚ‬
‫ﺗﺗﺴﺖ ﻛﻛﺮدن‪ ،‬ﮕ‬ ‫‪‬‬
‫ﻣﻬﻨﺪﺳﺎن ﻳﻚ ﺟﻌﺒﻪ اﺑﺰار از ﻣﻌﻴﺎرﻫﺎي ﺗﺴﺖ دارﻧﺪ‪.‬‬ ‫•‬

‫ﻫﻨﮕﺎﻣﻲ ﻛﻪ آزﻣﻮﻧﮕﺮان‪ ،‬ﻣﻬﻨﺪس ﺑﺎﺷﻨﺪ‪ ،‬ﻛﻴﻔﻴﺖ ﻣﺤﺼﻮل ﺑﻬﺘﺮ ﺧﻮاﻫﺪ ﺷﺪ‪.‬‬ ‫‪‬‬
‫ﺗﻮﺳﻌﻪ دﻫﻨﺪﮔﺎن ﻧﻴﺰ ﺑﻬﺘﺮ ﺧﻮاﻫﻨﺪ ﺷﺪ‪.‬‬ ‫•‬

‫‪٧١‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﭘﺮﺳﺸﻬﺎي ﺑﺎز‬

‫ﻛﺪاﻣﻴﻚ از ﻣﻌﻴﺎرﻫﺎ ﺑﺮاي ﻧﺮم اﻓﺰارﻫﺎي ﺗﻌﺒﻴﻪ ﺷﺪه‪ ،‬و ﻗﺎﺑﻞ اﻃﻤﻴﻨﺎن ﻣﻨﺎﺳﺒﺘﺮ اﺳﺖ؟‬ ‫‪‬‬
‫• از ﻛﺪام ﺳﺎﺧﺘﺎر ﻧﺮم اﻓﺰاري اﺳﺘﻔﺎده ﻛﻨﻴﻢ ؟‬
‫ﭼﮕﻮﻧﻪ ﻣﻲ ﺗﻮاﻧﻴﻢ ﺑﻪ ﺑﻬﺘﺮﻳﻦ ﺷﻜﻞ ﺗﺴﺖ ﻛﺮدن را ﺑﺎ اﺑﺰارﻫﺎي ﻗﻮي ﺧﻮدﻛﺎرﺳﺎزي ﻛﻨﻴﻢ؟‬ ‫‪‬‬
‫• اﺳﺘﺨﺮاج ﺳﺎﺧﺘﺎر ﻧﺮم اﻓﺰار‬
‫• ﺳﺎﺧﺖ ﻧﻴﺎزﻣﻨﺪي ﻫﺎي ﺗﺴﺖ‬
‫• اﻳﺠﺎد ﻣﻘﺎدﻳﺮي از ﻧﻴﺎزﻣﻨﺪي ﻫﺎي ﺗﺴﺖ‬
‫• اﻳﺠﺎد اﺳﻜﺮﻳﭙﺘﻬﺎي ﻛﺎﻣﻞ ﺗﺴﺖ‬
‫• ﻳﺎﻓﺘﻦ راه ﺣﻞ ﺑﺮاي ﻣﺴﺌﻠﻪ »ﻧﮕﺎﺷﺖ«‬
‫اﻋﺘﺒﺎرﺳﻨﺠﻲ ﺗﺠﺮﺑﻲ‬ ‫‪‬‬
‫اﻧﺘﻘﺎل ﺗﻜﻨﻮﻟﻮژي‬ ‫‪‬‬
‫ﻛﺎرﺑﺮدي ﻛﺮدن ﺗﺴﺖ ﺑﺮاي داﻣﻨﻪ ﻫﺎي ﺟﺪﻳﺪ‬ ‫‪‬‬

‫‪٧٢‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﺧﻼﺻﻪ ﻣﻔﺎﻫﻴﻢ ﺟﺪﻳﺪ اﻳﻦ ﺟﻠﺴﻪ‬

‫ﭼﺮا ﺗﺴﺖ ﻣﻲ ﻛﻨﻴﻢ ؟ ﺑﺮاي ﻛﺎﻫﺶ رﻳﺴﻚ اﺳﺘﻔﺎده از ﻧﺮم اﻓﺰار‬ ‫‪‬‬

‫ﭼﻬﺎر ﻧﻮع از ﻓﻌﺎﻟﻴﺖ ﻫﺎي ﺗﺴﺖ‪ :‬ﻃﺮاﺣﻲ ﺗﺴﺖ‪ ،‬ﺧﻮدﻛﺎر ﺳﺎزي‪ ،‬اﺟﺮا‪ ،‬و ارزﻳﺎﺑﻲ‬ ‫‪‬‬

‫اﺻﻄﻼﺣﺎت ﻧﻘﺺ‪ ،‬ﺧﺮاﺑﻲ‪ ،‬ﻣﺪل ‪ ،RIP‬ﻣﺸﺎﻫﺪه ﭘﺬﻳﺮي و ﻛﻨﺘﺮل ﭘﺬﻳﺮي‬ ‫‪‬‬

‫ﭼﻬﺎر ﺳﺎﺧﺘﺎر – ﻧﻴﺎزﻣﻨﺪي ﻫﺎي ﺗﺴﺖ و ﻣﻌﻴﺎرﻫﺎ‬ ‫‪‬‬

‫ﺳﻄﻮح ﺑﻠﻮغ ﻓﺮاﻳﻨﺪ ﺗﺴﺖ – ﺳﻄﺢ ﭼﻬﺎرم ﻳﻚ ﻧﻈﻢ ذﻫﻨﻲ اﺳﺖ ﻛﻪ ﻛﻴﻔﻴﺖ ﻧﺮم‬ ‫‪‬‬
‫اﻓﺰار را ﺑﻬﺒﻮد ﻣﻲ ﺑﺨﺸﺪ ‪.‬‬
‫ﺗﺴﺖ ﺑﻬﺘﺮ و زودﻫﻨﮕﺎم ﺗﺮ ﻣﻲ ﺗﻮاﻧﺪ ﻣﺪﻳﺮ ﺗﺴﺖ را ﺗﻮاﻧﺎﺗﺮ ﻧﻤﺎﻳﺪ‪.‬‬
‫‪٧٣‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬
‫ﭘﺎﻳﺎن‬

‫‪٧٤‬‬ ‫ﺻﺪﻳﻘﻪ ﺧﻮﺷﻨﻮﻳﺲ‪ -‬داﻧﺸﮕﺎه آزاد اﺳﻼﻣﻲ واﺣﺪ ﺷﻬﺮﻗﺪس‬ ‫آزﻣﻮن ﻧﺮم اﻓﺰار )ﻓﺼﻞ ‪(1‬‬

You might also like