ï»?!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
‹¹‹è¯•在èÊYä»¶å¼€å‘过½E‹ä¸ä¸€ç›´éƒ½æ˜¯å¤‡å—关注的åQŒå³ä½¿åœ¨ä¼ 统的èÊYä»¶å·¥½E‹ä¸åQŒä¹Ÿæœ‰ä¸€ä¸ªæ˜Ž¼‹®ã€ç‹¬ç«‹çš„‹¹‹è¯•阶段。éšç€è½¯äšg屿œºçš„频频出çŽîC»¥åŠäh们对于èÊY件本质的˜q›ä¸€æ¥è®¤è¯†ï¼Œ‹¹‹è¯•的地ä½å¾—åˆîCº†å‰æ‰€æœªæœ‰çš„æé«˜ã€‚测试已¾lä¸ä»…ä»…å±€é™äºŽè½¯äšgå¼€å‘ä¸çš„一个阶ŒDµï¼Œå®ƒå·²¾l开始诽I¿äºŽæ•´ä¸ªè½¯äšgå¼€å‘过½E‹ï¼ŒäºÞZ»¬å·²ç»å¼€å§‹è®¤è¯†åˆ°åQšæµ‹è¯•å¼€å§‹çš„æ—‰™—´‘Šæ—©åQŒæµ‹è¯•执行的‘Šé¢‘¾J,所带æ¥çš„æ•´ä¸ªèÊY件开呿ˆæœ¬çš„下陞®×ƒ¼š‘Šå¤šã€‚Extreme Programming更是把测试推åˆîCº†æžé™çš„ä½¾|®ï¼Œä¸€åˆ‡èÊY件开呿´»åŠ¨éƒ½è¦ä»Žé¦–å…ˆ¾~–写‹¹‹è¯•代ç 开始ã€?nbsp;
ç”׃ºŽäºÞZ»¬å¯¹äºŽè½¯äšgè´¨é‡çš„é‡è§†ç¨‹åº¦è¶Šæ¥è¶Šé«˜ï¼Œž®±å¯¼è‡´äº†‹¹‹è¯•在èÊYä»¶å¼€å‘ä¸çš„地ä½è¶Šæ¥è¶Šé‡è¦ã€‚是的,‹¹‹è¯•是目å‰ç”¨æ¥éªŒè¯èÊY件是å¦èƒ½å¤Ÿå®Œæˆæ‰€æœŸæœ›çš„功能的唯一有效的方法。在˜q™ä¸€‘‹åŠ¿çš„å¼•å¯ég¸‹åQŒçŽ°åœ¨å¾ˆå¤šèÊY件相关的公å¸éƒ½éžå¸”R‡è§†å¯¹äºŽä»–们所开å‘的软äšgçš„æµ‹è¯•ï¼Œç”šè‡³ä¸æƒœèŠÞp´¹å·¨èµ„è´ä¹°å•†ç”¨çš„æµ‹è¯•工典P¼Œä½†æ˜¯æ•ˆæžœå´ä¸ä¸€å®šç†æƒŸë€‚ç©¶å…¶åŽŸå› ä¸»è¦æ˜¯å˜åœ¨ç€å¯¹äºŽè½¯äšg‹¹‹è¯•的诸多误解ã€?br style="margin: 0px; padding: 0px;"/> 但是åQŒç›¸å¯¹äºŽ‹¹‹è¯•˜q™ä¸ªè¯çš„‹¹è¡Œ½E‹åº¦è€Œè¨€åQŒæœ‰å…Ïxµ‹è¯•教育方é¢çš„工作åšçš„˜q˜è¿œ˜qœä¸å¤Ÿï¼Œå¾ˆå¤šå…³äºŽ‹¹‹è¯•çš„æ–‡ç« éƒ½æ˜¯é’ˆå¯ÒŽŸ¿U测试工具ä‹É用方é¢çš„åQŒè€Œæµ‹è¯•工具厂商也往往å‡ÞZºŽå•†ä¸šçš„目的对于测试工å…ïLš„作用夸大其è¯ã€‚è¿™æ øP¼Œå¾ˆå¤šçš„èÊYä»¶ä»Žä¸šè€…å°±å¾ˆå®¹æ˜“é™·å…¥ä¸€äº›è¯¯åŒºï¼Œå¯ÆD‡´äº†æµ‹è¯•åÆˆæ²¡æœ‰åœ¨ä»–ä»¬æ‰€åœ¨çš„è½¯äšgå¼€å‘项目ä¸èµ·åˆ°æœ‰æ•ˆçš„作用。下é¢å‡ 个å°èŠ‚å°†å¯¹äºŽä¸€äº›æ¯”è¾ƒå…·æœ‰ä»£è¡¨æ€§çš„è¯¯åŒº˜q›è¡Œå‰–æžåQŒåƈ对于‹¹‹è¯•èƒŒåŽæ‰€è•´å«çš„一些设计æ€è€ƒè¿›è¡Œäº†é˜è¿°åQŒå¸Œæœ›èƒ½å¤Ÿè“våˆ°æŠ›ç –å¼•çŽ‰çš„ä½œç”¨ã€?nbsp;
误区之一åQšä‹É用了‹¹‹è¯•工具åQŒå°±æ˜¯è¿›è¡Œäº†æœ‰æ•ˆçš„æµ‹è¯?nbsp;
˜q™ä¸ªè¯¯åŒºå¯ä»¥è¯´æ˜¯ä¸€¿U通病åQŒå‡ 乎æ¯ä¸€ä¸ªé¢†åŸŸä¸çš„CASE工具刚刚出现旉™ƒ½ä¼šå¸¦æ¥è¿™ä¸ªé—®é¢˜ï¼Œæ¯”如åQšå¦‚果一个èÊYä»¶å¼€å‘团队在软äšg的开å‘ä¸ä½¿ç”¨äº†Rational Rose工具æ¥è¿›è¡ŒUML囄¡š„¾l˜åˆ¶åQŒä»–们å¯èƒ½å°±ä¼šå£°¿UîC»–们采用了é¢å‘å¯¹è±¡çš„æ–¹æ³•ï¼Œä¹Ÿä¸½Ž¡ä»–ä»¬çš„è®¾è®¡å’Œä»£ç 实际上是多么的˜q‡ç¨‹åŒ–ã€?nbsp;
在测试领域ä¸ä¹Ÿä¸€æ ·å¦‚æ¤ï¼Œä¸€ä¸ªèÊYä»¶å¼€å‘å›¢é˜Ÿå¾€å¾€è®¤äØ“åªè¦è‡ªå·±ä½¿ç”¨äº†æŸ¿UèÊYä»¶æµ‹è¯•å·¥å…øP¼Œé‚£ä¹ˆž®±åº”该å¯ä»¥èŽ·å–æµ‹è¯•带æ¥çš„¿Uç§å¥½å¤„åQŒè¿™¿Uæƒ³æ³•å½“ç„¶æ˜¯é”™è¯¯çš„ã€‚å› ä¸ºï¼Œè¦æƒ³å¯¹ä¸€ä¸ªèÊY件或者模å—进行有效的‹¹‹è¯•åQŒé¦–先该软äšg或者模å—åº”è¯¥æ˜¯å¯æµ‹è¯•的。寋¹‹è¯•æ€§æ˜¯åæ˜ 软äšgè´¨é‡çš„一个内在属性,ä¸ä¼šå› äØ“ä½ ä‹É用了æŸç§‹¹‹è¯•工具˜q›è¡Œäº†æµ‹è¯•行为,ž®×ƒ‹É得被‹¹‹è¯•çš„èÊYä»¶å…·æœ‰äº†å¯æµ‹è¯•性。如果被‹¹‹è¯•çš„èÊY件本íw«åƈä¸å…·å¤‡å¯‹¹‹è¯•性,那么使用多么昂贵的测试工兯‚¿›è¡Œæµ‹è¯•所能够带æ¥çš„æ”¶ç›Šéƒ½æ˜¯å¾®ä¹Žå…¶å¾®çš„ã€?nbsp;
å·§çš„æ˜¯ï¼Œå¯æµ‹è¯•性和好的软äšgå“è´¨çš„å…¶ä»–æ–¹é¢æœ‰å¤©ç„¶çš„å…³è”,一个具有寋¹‹è¯•性的软äšg必然是一个强内èšã€å¼±è€¦åˆã€æŽ¥å£æ˜Ž¼‹®ã€æ„图明晰的软äšgåQŒè€Œä¸å¯æµ‹è¯•的软äšg往往å…ähœ‰˜q‡å¼ºçš„耦åˆå’ŒæØœä¹Þqš„逻辑ã€?br style="margin: 0px; padding: 0px;"/> è¦æƒ³çœŸæ£èŽ·å–‹¹‹è¯•带æ¥çš„巨大好处,òq¶ä¸”使得‹¹‹è¯•å·¥å…·èƒ½å¤Ÿå‘æŒ¥æœ€å¤§çš„æ•ˆçއåQŒå…³é”®å°±æ˜¯è¦ä½¿èÊY件本íw«å…·æœ‰å¾ˆå¥½çš„坿µ‹è¯•性。这¿Uèƒ½åŠ›çš„èŽ·å–æ˜¯ä¸€ä¸ªé€æ¥çš„过½E‹ï¼Œæ˜¯ä¸å¯èƒ½ä¸€íy´è€Œå°±çš„。最关键的一点就是è¦ä¸æ–实践åQŒä¸æ–å¦ä¹ 一些优¿U€çš„ç»éªŒï¼Œä¸æ–çš„åæ€ã€‚è¦æƒŒ™Ž·å–好的结果,ž®±å¿…™å»è¦ä»˜å‡ºåŠªåŠ›åQŒè¿™æ˜¯äº˜å¤ä¸å˜çš„真ç†ã€?br style="margin: 0px; padding: 0px;"/> 对于‹¹‹è¯•工具的选择åQŒåªè¦æ»¡‘³éœ€è¦åƈ能够自动˜q行‹¹‹è¯•用例ž®±å¯ä»¥äº†ã€‚ä¸è¦ä¸€å‘³çš„˜q½æ±‚夿‚的功能和ä¸å¿…è¦çš„ç‰|´»æ€§ã€‚对于大多数™å¹ç›®æ¥è¯´åQŒä¸€äº›éžå¸¸è‘—åçš„æºç 开攄¡š„‹¹‹è¯•工具ž®Þpƒö够了。关于验收测试方é¢ï¼Œç›®å‰æ²¡æœ‰æ¯”较好的满èƒö儿–¹é¢éœ€è¦é€šç”¨çš„æµ‹è¯•工典P¼Œä¸è¿‡ä½¿ç”¨è„šæœ¬è¯è¨€åQŒåó@åºæ¸˜q›çš„自行开å‘一个适åˆè‡ªå·±çš„éªŒæ”¶æµ‹è¯•å·¥å…·ä¹Ÿä¸æ˜¯ä¸€ä»¶å›°éš„¡š„事情åQŒä¸€å¥è¯åQšåªæœ‰æé«˜äº†è‡ªèínå›¢é˜Ÿå†…åœ¨çš„ç´ è´¨ï¼Œå¤–åœ¨çš„å·¥å…äh‰èƒ½å¤Ÿå‘挥作用ã€?br style="margin: 0px; padding: 0px;"/>误区之二åQšå˜åœ¨å¤ªå¤šçš„æ— 法‹¹‹è¯•的东è¥?nbsp;
在èÊYä»¶å¼€å‘领域,¼‹®å®žå˜åœ¨ä¸€äº›ä¸œè¥¿çœ‹èµäh¥è¦æ¯”å¦å¤–一些东襉K𾋹‹è¯•一些,但是˜qœéžæ— 法‹¹‹è¯•ã€‚åÆˆä¸”åœ¨å¤§å¤šæ•°çš„æƒ…å†µä¸‹ï¼Œ˜q˜æ˜¯ç”׃ºŽè¢«æµ‹è¯•的软äšg本èín在设计时没有考虑到寋¹‹è¯•性的问题。åªä¸è¿‡˜q™ç§ä¸å¯‹¹‹è¯•æ€§ä¸æ˜¯ç”±äºŽè¢«‹¹‹è¯•çš„èÊY件内部的˜q‡ç´§è€¦åˆé€ æˆçš„,而是和外部æŸäº›å¾ˆé𾿵‹è¯•的部分耦刘q‡ç´§åQŒä»Žè€Œè¡¨çŽ°å‡ºè¢«æµ‹è¯•çš„è½¯äšg本èín很难‹¹‹è¯•。这些很难测试的部分比较常è§çš„æœ‰åQšå›¾å½¢ç•Œé¢ã€ç¡¬ä»¶ã€æ•°æ®åº“½{‰ã€‚下é¢ä»¥å›‘ÖŞ界é¢ä¸ÞZ¾‹˜q›è¡Œè¯´æ˜Žã€?nbsp;
如果一个èÊY件模å—å¿…™å»è¦é€šè¿‡å›‘ÖÅžç•Œé¢æ‰èƒ½å¤Ÿè§¦å‘它的应用逻辑æ—Óž¼Œé‚£ä¹ˆè¦å¯¹˜q™ä¸ªè½¯äšg模嗘q›è¡Œ‹¹‹è¯•时就必须è¦ä‹É用图形界é¢ã€‚但是图形界é¢åˆæ˜¯å¾ˆé𾿵‹è¯•的。看èµäh¥å¥½åƒå¾ˆéš¾åŠžã€‚è®©æˆ‘ä»¬æ¢ä¸€ä¸ªè§’åº¦è€ƒè™‘ä¸€ä¸‹ï¼Œå…¶å®žæˆ‘ä»¬çœŸæ£æƒŒ™¦‹¹‹è¯•的是软äšgæ¨¡å—æœ¬èín的应用逻辑åQŒè€Œä¸æ˜¯å›¾å½¢ç•Œé¢çš„触å‘逻辑。如果我们在设计时能够把被测试的软äšgæ¨¡å—æœ¬èín˜q›è¡Œå¾ˆå¥½çš„å°è£…,定义良好的æœåŠ¡æä¾›æŽ¥å£ï¼Œé‚£ä¹ˆæˆ‘们ž®±å®Œå…¨å¯ä»¥é€šè¿‡è½¯äšgæ¨¡å—æœ¬èínæä¾›çš„æŽ¥å£è¿›è¡Œæµ‹è¯•ã€‚è¿™æ ·å°±å¯ä»¥¾l•过难以‹¹‹è¯•的图形界é¢ã€‚é€ æˆä¸Šè¿°è½¯äšg模å—很难‹¹‹è¯•çš„åŽŸå› æ£æ˜¯ç”±äºŽåœ¨è®¾è®¡æ—¶æŠŠè½¯äšgæ¨¡å—æœ¬èín的应用逻辑和图形界é¢è¿™ä¸¤ä¸ªæ— 关的逻辑耦åˆåœ¨äº†ä¸€èµ—÷€‚把˜q™ä¸¤ä¸ªé€»è¾‘分离åQŒä¸ä»…å¯ä»¥å¯¹è¯¥èÊY件模å—进行更å®ÒŽ˜“ã€æ›´æœ‰æ•ˆçš„æµ‹è¯•,而且也ä‹É得该软äšg模å—å…ähœ‰äº†å¾ˆå¥½çš„å¯é‡ç”¨æ€§å’Œå¯ç§»æ¤æ€§ã€?nbsp;
那么对于ä¸å¥½‹¹‹è¯•的图形界é¢ï¼Œæˆ‘们该怎么办呢åQŸåŽŸåˆ™å¾ˆ½Ž€å•,如果æŸç§ä¸œè¥¿ä¸å¥½‹¹‹è¯•åQŒé‚£ä¹ˆå°±è®©å®ƒåšè‚¯å®šä¸ä¼šå‡ºé”™çš„事情åQŒè€ŒæŠŠå¯èƒ½ä¼šå‡ºé”™çš„逻辑剥离出æ¥åQŒæ”¾åˆîC¸€ä¸ªå¯ä»¥æµ‹è¯•的模å—ä¸ã€‚å¯¹äºŽå›¾å½¢ç•Œé¢æ¥è¯ß_¼Œž®±æ˜¯ä»…ä»…ä¿æŒä¸€ä¸ªå¾ˆè–„的囑ÖŞ界é¢é€»è¾‘åQŒå®ƒçš„工作就是把用户的请求简å•的转呾l™çœŸæ£å¤„ç†è¯¥è¯äh±‚çš„èÊY件模å—。è{å‘逻辑‘›_¤Ÿ½Ž€å•以至于它肯定ä¸ä¼šå‡ºé”™ï¼Œæ‰€ä»¥æˆ‘ä»¬ä¹Ÿæ— éœ€å¯¹å®ƒ˜q›è¡Œ‹¹‹è¯•ã€?nbsp;
如果在进行èÊY件开呿—¶èƒ½å¤Ÿé¦–å…ˆ¾~–写‹¹‹è¯•代ç åQŒé‚£ä¹ˆå°±ä¼šè¿«ä½¿ä½ 从易使用性,易测试性的角度开考虑问题åQŒä»Žè€Œä½ ž®×ƒ¼šä¸“注于èÊY件模å—的高层抽象和èŒè´£ã€‚è¿™æ ·å°±ä¼šå®šä¹‰å‡ºæ¸…æ™°çš„ã€æ˜Ž¼‹®åæ˜ æ„囄¡š„æ¨¡å—æŽ¥å£æ¥ï¼Œå¦å¤–åQŒäؓ了ä‹Éå¾—æµ‹è¯•èƒ½å¤Ÿè¿›è¡Œï¼Œä½ å°±ä¼šä¸»åŠ¨æŠŠé‚£äº›å¯ÆD‡´ä¸å¥½‹¹‹è¯•的耦åˆåŽÀLŽ‰ã€‚è¿™æ ïLš„¾l“æžœä¸ä»…仅是获得了寋¹‹è¯•性,òq¶ä¸”也äñ”生了更好的设计和¾pÈ»Ÿæž¶æž„ã€?nbsp;
但是¼‹®å®žå˜åœ¨ä¸€äº›ä¸å¥½æµ‹è¯•的东西òq¶ä¸”很难åªè®©å®ƒæ‰§è¡Œä¸€äº›éžå¸¸ç®€å•的逻辑åQŒæ¯”如嵌入弾pÈ»Ÿä¸çš„BSP。开å‘它们所使用的è¯a€ã€çŽ¯å¢ƒä»¥åŠå®ƒä»¬æœ¬íw«çš„ç‰ÒŽ€§ç‰å†›_®šäº†å®ƒä»¬æ˜¯å¾ˆé𾋹‹è¯•的。这里说的难‹¹‹è¯•其实是一个测试代价问题,具体的说ž®±æ˜¯è¦ä»˜å‡ºæ›´å¤šçš„æ—‰™—´å’ŒåŠªåŠ›ã€‚è¿™ž®±éœ€è¦ä½ 在付出的代äh和测试带æ¥çš„æ”¶ç›Šä¹‹é—´˜q›è¡ŒòqŒ™¡¡ã€‚如果付出的代äh所带æ¥çš„æ”¶ç›Šæ˜¯å·¨å¤§çš„,那么付出的代价就是éžå¸¸å€¼å¾—çš„ã€?nbsp;
误区之三åQšæµ‹è¯•ä»£ç å¯ä»¥éšæ„写
大家肯定知铋¹‹è¯•ä»£ç æ˜¯ä¸èƒ½éšæ„编写的åQŒåƈ且在¾~–写‹¹‹è¯•ä»£ç æ—¶ä¹Ÿä¸æ˜¯æŠÞq€ä¸€¿Uéšæ„çš„æ€åº¦åQŒä½†æ˜¯ä½ ¾~–写出æ¥çš„æµ‹è¯•代ç ä»¥åŠæµ‹è¯•代ç è¿è¡Œçš„æƒ…况å´è¡¨çŽ°å‡ºäº†ä¸€¿Uéšæ„æ€§å’Œæ— åºæ€§ã€‚å› ä¸ÞZ½ å¯èƒ½òq¶æ²¡æœ‰å¼„清楚‹¹‹è¯•çš„çœŸæ£æ„图所在ã€?nbsp;
‹¹‹è¯•的目的是用楋‚€éªŒèÊYä»¶ç³»¾lŸæ˜¯å¦æ»¡‘³äº†éœ€æ±‚ã€‚æ‰€ä»¥ï¼Œä½ çš„‹¹‹è¯•代ç ä¸€å®šè¦æ˜Žç¡®çš„表辑ևº˜q™ä¸€ç‚ÒŽ¥ã€‚就那上é¢çš„æ¡ˆä¾‹æ¥è¯´åQŒå¦‚果测试者真æ£ä»Žç”¨æˆ·çš„需求出å‘,那么他写出æ¥çš„æµ‹è¯•脚本肯定ä¸ä¼šæ˜¯é‚£æ ·çš„ï¼Œè€Œå› è¯¥æ˜¯æ¯ä¸€ä¸ªæµ‹è¯•用例都清晰的刻ç”ÖMº†ä¸€™å¹ç”¨æˆïLš„需求,然压‚€éªŒç³»¾lŸæ˜¯å¦å®žçŽîCº†ç”¨æˆ·æœŸæœ›çš„功能。这æ ïLš„‹¹‹è¯•æ‰æ˜¯æœ‰æ˜Ž¼‹®ç›®çš„ï¼Œæ‰æ˜¯æœ€æœ‰æ•ˆçš„æµ‹è¯•。和把界é¢é€»è¾‘和应用逻辑隔离åQŒé‡‡ç”¨æ˜Ž¼‹®è¡¨çŽ°ç”¨æˆ·éœ€æ±‚æµ‹è¯•ç”¨ä¾‹è¿›è¡Œæµ‹è¯•ç›¸æ¯”ï¼Œä¸Šé¢çš„æµ‹è¯•方法ä¸èƒ½ä¸è¯´æ˜¯éšæ„了一ç‚V€?nbsp;
在针对类˜q›è¡Œçš„å•元测试ä¸åQŒä¹Ÿ¾l常会看åˆîC¸€äº›é”™è¯¯çš„‹¹‹è¯•æ–ÒŽ³•。很多的‹¹‹è¯•者往往针对¾cÖM¸çš„æ¯ä¸ªç‰¹å®šçš„å®žçŽ°¾l†èŠ‚˜q›è¡Œ‹¹‹è¯•。类ä¸çš„特定的实现细节是很容易å˜åŒ–çš„åQŒåœ¨å¿«é€Ÿçš„˜q代å¼å¼€å‘䏿›´æ˜¯å¦‚æ¤ã€‚ä¸€æ—¦ä½ ‹¹‹è¯•的类ä¸çš„æŸä¸ªå®žçŽ°¾l†èŠ‚å‘生了å˜åŒ–ï¼Œä½ åŽŸå…ˆçš„‹¹‹è¯•ä»£ç ž®Þp¦˜q›è¡Œç›¸åº”的更改,å¦åˆ™ž®±å¤±åŽÖMº†æ„义。这¿U频¾J更改的代äh是巨大的。类是一¿UæŠ½è±¡ï¼Œå®ƒåæ˜ 了更高层é¢çš„å†…èšæ€§ï¼Œå®ƒåº”该有明确的èŒè´£å’Œå®šä¹‰è‰¯å¥½çš„æœåŠ¡æŽ¥å£ï¼Œå®ƒçš„èŒè´£å’Œå¯¹å¤–的接å£ç›¸å¯¹äºŽå†…部的实现¾l†èŠ‚æ¥è¯´è¦ç¨³å®šçš„多,òq¶ä¸”我们è¦éªŒè¯çš„æ£æ˜¯˜q™ä¸ª¾cÀL˜¯å¦å…·å¤‡äº†å®ƒçš„èŒè´£ã€‚å› æ¤ï¼Œåœ¨å¯¹¾c»è¿›‹¹‹è¯•æ—Óž¼Œæˆ‘们应该针对¾cÈš„æŽ¥å£æ¥éªŒè¯ç±»æ˜¯å¦å®žçŽ°äº†å®ƒçš„èŒè´£è€Œä¸æ˜¯å…¶ä»–ã€‚è¿™æ ·å†™å‡ºæ¥çš„æµ‹è¯•代ç 覽E›_®šçš„多åQŒä¹Ÿæœ‰æ•ˆçš„多ã€?nbsp;
¾l†æƒ³ä¸€ä¸‹ï¼Œé€ æˆå®ÒŽ˜“陷入针对实现¾l†èŠ‚‹¹‹è¯•çš„åŽŸå› ä¸»è¦æ˜¯ç”׃ºŽå…ˆå®žçŽîCº†¾c»ï¼Œç„¶åŽæ‰åŽ»˜q›è¡Œ‹¹‹è¯•。如果先实现了类的功能,然åŽåœ¨åŽ»å¯¹ç±»˜q›è¡Œ‹¹‹è¯•åQŒæ½œæ„识ä¸å°±ä¼šä¸ç”Þp‡ªä¸Èš„æƒ›_Ž»éªŒè¯å·²ç»å®Œæˆçš„类的柿U实现细节。如果能够在¾~–写实际¾cÕd‰åQŒé¦–先编写针对该¾cÈš„‹¹‹è¯•代ç åQŒæƒ…况就会有很大的ä¸åŒï¼Œå› 䨓˜q™ä¼š˜q«ä‹Éä½ ä»Ž¾cÈš„使用者的角度去考虑问题。结果就是会把关注点攑֜¨¾cÈš„易用性上åQŒæ”¾åœ¨ç±»çš„èŒè´£ä¸Šé¢ï¼Œæ”‘Öœ¨¾cÀLä¾›æœåŠ¡çš„æŽ¥å£ä¸Šé¢åQŒè€Œä¸æ˜¯æŸ¿U实现细节ã€?nbsp;æ€ÖM¹‹åQŒæµ‹è¯•代ç çš„¾~–写应该从被‹¹‹è¯•çš„å¯¹è±¡æ˜¯å¦æ»¡‘³éœ€è¦çš„层题q›è¡ŒåQŒè€Œä¸æ˜¯å…¶ä»–ã€?nbsp;
误区之四åQšå•元测试和验收‹¹‹è¯•没有什么区åˆ?nbsp;
我们˜q˜ä»¥¾l常用æ¥å’ŒèÊY件进行类比的建ç‘ä¸ÞZ¾‹åQŒé¦–先给大家一个感性的认识。å•元测试å¯ä»¥ç±»æ¯”äØ“ä¸€ä¸ªå¾½{‘的质检人员对徽{‘进行的‹‚€‹¹‹ï¼Œ 他关注的é‡ç‚¹æ˜¯å¾½{‘的内部¾l“æž„ã€åœ°åŸºã€æ¡†æž¶ä»¥åŠå¢™å£æ˜¯å¦åž‚ç›´ç‰ã€‚他的检‹¹‹æ˜¯è¦ä¿è¯å¾½{‘çš„å„个部分是æ£å¸¸çš„ã€å®‰å…¨çš„åQŒæ¢å¥è¯è¯ß_¼Œž®±æ˜¯è¦ä¿è¯æ–½å·¥æ»¡‘›_¾½{‘上é¢çš„è´¨é‡æ ‡å‡†ã€‚验收测试å¯ä»¥ç±»æ¯”äØ“å»ºç‘çš„ä‹É用者æ¥å¯¹å¾½{‘进行的‹‚€‹¹‹ã€‚é¦–å…ˆï¼Œä»–è®¤ä¸ø™¿™ä¸ªå¾½{‘是满èƒö规定的工½E‹è´¨é‡çš„åQŒè¿™æ˜¯æœ‰å»ºç‘的质‹‚€äººå‘˜æ¥ä¿è¯çš„。ä‹É用者关注的é‡ç‚¹æ˜¯ä½åœ¨è¿™ä¸ªå¾½{‘çš„ä¸çš„æ„Ÿå—。他兛_¿ƒå»ºç‘的外观是å¦ç¾Žè§‚ã€å„ä¸ªæˆ¿é—´çš„å¤§å°æ˜¯å¦åˆé€‚,½H—户的佾|®æ˜¯å¦åˆé€‚,是å¦èƒ½å¤Ÿæ»¡èƒöå®¶åºçš„需è¦ç‰ã€‚这里,建ç‘çš„ä‹É用者执行的ž®±æ˜¯éªŒæ”¶‹¹‹è¯•åQŒä»–是从用户的角度出å‘的。徽{‘的质检人员执行的就是å•å…ƒæµ‹è¯•ï¼Œä»–æ˜¯ä»Žæž„å»ø™€…的角度出å‘çš„ã€?nbsp;
æ£æ˜¯˜q™ç§è§’度的ä¸åŒå†³å®šäº†å•å…ƒ‹¹‹è¯•和验收测试之间的区别。它们是对系¾lŸçš„ä¸åŒçš„æ–¹é¢è¿›è¡Œçš„‹¹‹è¯•åQŒäºŒè€…æ˜¯äº’ç›¸è¡¥å……çš„ã€‚ä¸½Ž¡æˆ‘ä»¬åœ¨¾pÈ»Ÿçš„æž„å»ÞZ¸ä½¿ç”¨äº†å¤šä¹ˆèªæ˜Žçš„æ–ÒŽ³•åQŒä¸½Ž¡æˆ‘们的¾pÈ»Ÿæ˜¯å¤šä¹ˆçš„ç‰|´»åQŒä½†æ˜¯é¦–先我们的产å“必须是å¯ç”¨çš„åQŒå¦åˆ™æˆ‘们所åšçš„ž®±æ˜¯‹¹ªè´¹æ—‰™—´åQŒä»Ž˜q™ä¸€ç‚¹ä¸Šæ¥è¯´éªŒæ”¶‹¹‹è¯•è¦æ¯”å•å…ƒ‹¹‹è¯•昑־—æ›´åŠ é‡è¦ã€?nbsp;
关于å•å…ƒ‹¹‹è¯•和验收测试之间的明确划分åQŒæ²¡æœ‰ä¸€ä¸ªé€šç”¨çš„æ ‡å‡†ï¼Œåªæœ‰é€šè¿‡è‡ªå·±çš„䏿–实跉|¥å¢žåŠ ˜q™æ–¹é¢çš„¾léªŒã€‚ä½ ˜q›è¡Œçš„æœ‰å…Ïxµ‹è¯•的实践‘Šå¤šåQŒä½ ž®×ƒ¼š‘Šæ¸…晰的感觉到å•元测试和验收‹¹‹è¯•ä¹‹é—´çš„ç•Œé™æ‰€åœ¨ã€‚下é¢ç»™å‡ÞZ¸€äº›æŒ‡å¯¼åŽŸåˆ™ï¼Œåœ¨ä½ ¾~–写‹¹‹è¯•ä»£ç æ—¶å¯èƒ½ä¼šæœ‰å¸®åŠ©ã€?nbsp;
l 如果一个å•元测试è¦è·¨è¶Š¾cÈš„边界åQŒé‚£ä¹ˆå®ƒå¯èƒ½åº”该是一个验收测试;如果一个å•元测试å˜çš„éžå¸¸å¤æ‚,那么它å¯èƒ½åº”该是一个验收测试;如果一个å•元测试ç»å¸¸è¦éšç€ç”¨æˆ·éœ€æ±‚çš„å˜åŒ–而改å˜ï¼Œé‚£ä¹ˆå®ƒå¯èƒ½åº”该是一个验收测试;如果一个å•元测试比它見¹‹è¯•çš„ä»£ç æœ¬íw«è¦éš¾ä»¥¾~–写åQŒé‚£ä¹ˆå®ƒå¯èƒ½åº”该是一个验收测è¯?nbsp;ã€?br style="margin: 0px; padding: 0px;"/> ‹¹‹è¯•是用æ¥ä¿è¯èÊYä»¶å¼€å‘过½E‹çš„高效性,以åŠä¿è¯å¼€å‘出æ¥çš„软äšg产å“的高质é‡å’Œå¯ç”¨æ€§çš„。èÊY件开呿œ¬íw«å°±æ˜¯ä¸€ä»‰™žå¸¸å›°éš„¡š„事情åQŒè¿™ä¹Ÿå†³å®šäº†æœ‰æ•ˆçš„æµ‹è¯•决䏿˜¯½Ž€å•çš„ä¾é 一些测试工具就å¯ä»¥˜q›è¡Œçš„ã€‚åœ¨ä½¿ç”¨å·¥å…·çš„åŒæ—Óž¼Œæˆ‘们更è¦åŠ å¼ºå…³äºŽ‹¹‹è¯•的培è®ã€æ•™è‚ÔŒ¼Œä½¿å¤§å®¶å¯¹äºŽæµ‹è¯•首先有一个棼‹®çš„è®¤è¯†ã€‚åªæœ‰è¿™æ øP¼Œæˆ‘们æ‰èƒ½å¤Ÿæ›´åŠ æœ‰æ•ˆã€é«˜æ•ˆçš„使用工具åQŒæ‰èƒ½å¤Ÿä½¿æµ‹è¯•真æ£è“v到它应有的作用ã€?br style="margin: 0px; padding: 0px;"/>