ruǎn jiàn : xué lèi > dān yuán shì
mùlù
No. 1
   dān yuán shì shì zài ruǎn jiàn kāi guò chéng zhōng yào jìn xíng de zuì bié de shì huó dòngzài dān yuán shì huó dòng zhōngruǎn jiàn de dān yuán jiāng zài chéng de fēn xiāng de qíng kuàng xià jìn xíng shì
   zài zhǒng chuán tǒng de jié gòu huà biān chéng yán zhōng c, yào jìn xíng shì de dān yuán bān shì hán shù huò guò chéngzài xiàng c++ zhè yàng de miàn xiàng duì xiàng de yán zhōngyào jìn xíng shì de běn dān yuán shì lèiduì ada yán lái shuōkāi rén yuán xuǎn shì zài de guò chéng hán shùhái shì zài ada bāo de bié shàng jìn xíng dān yuán shì dān yuán shì de yuán tóng yàng bèi kuò zhǎn dào dài yán (4gl) de kāi zhōngzài zhè běn dān yuán bèi diǎn xíng huàfēn wéi cài dān huò xiǎn shì jiè miàn
   dān yuán shì jǐn jǐn shì zuò wéi cuò biān zhǒng zhù shǒu duàn zài xìng de kāi guò chéng zhōng shǐ yòng dān yuán shì shì chóngfù de lùn shì zài ruǎn jiàn xiū gǎihuò shì zhí dào xīn de yùn xíng huán jìng de guò chéng zhōngyīn suǒ yòu de shì zài zhěng ruǎn jiàn tǒng de shēng mìng zhōu zhōng jìn xíng wéi
   jīng cháng dān yuán shì lián lái de lìng wài xiē kāi huó dòng bāo kuò dài zǒu (codereview), jìng tài fēn (staticanalysis) dòng tài fēn (dynamicanalysis)。 jìng tài fēn jiù shì duì ruǎn jiàn de yuán dài jìn xíng yán chá zhǎo cuò huò shōu xiē liàng shù bìng yào duì dài jìn xíng biān zhí xíngdòng tài fēn jiù shì tōng guò guān chá ruǎn jiàn yùn xíng shí de dòng zuòlái gōng zhí xíng gēn zōngshí jiān fēn shì gài fāng miàn de xìn
   dān yuán shì
   zhōng yǒng lián gāo shù péi xùn zhōng xīn( www.itisedu.com)
   dān yuán shì kuài shìshì kāi zhě biān xiě de xiǎo duàn dài yòng jiǎn yàn bèi dài de hěn xiǎo dehěn míng què de gōng néng shì fǒu zhèng quètōng cháng 'ér yán dān yuán shì shì yòng pàn duàn mǒu dìng tiáo jiànhuò zhě chǎng jǐngxià mǒu dìng hán shù de xíng wéi néng hěn de zhí fàng yòu list zhōng rán hòu què rèn gāi zhí chū xiàn zài list de wěi huò zhě néng huì cóng chuàn zhōng shān chú pèi mǒu zhǒng shì de rán hòu què rèn chuàn què shí zài bāo hán zhè xiē liǎo
   dān yuán shì shì yóu chéng yuán lái wán chéngzuì zhōng shòu de shì chéng yuán zhè me shuōchéng yuán yòu rèn biān xiě gōng néng dài tóng shí jiù yòu rèn wéi de dài biān xiě dān yuán shìzhí xíng dān yuán shìjiù shì wèile zhèng míng zhè duàn dài de xíng wéi men wàng de zhì
   gōng chǎng zài zhuāng tái diàn shì zhī qiánhuì duì měi yuán jiàn jìn xíng shìzhèjiù shì dān yuán shì
   shí men měi tiān dōuzài zuò dān yuán shì xiě liǎo hán shùchú liǎo jiǎn dān de wàizǒng shì yào zhí xíng xiàkàn kàn gōng néng shì fǒu zhèng chángyòu shí hái yào xiǎng bàn shū chū xiē shù dàn chū xìn chuāng kǒu shénme dezhè shì dān yuán shìlǎo zhè zhǒng dān yuán shì chēng wéi lín shí dān yuán shìzhǐ jìn xíng liǎo lín shí dān yuán shì de ruǎn jiànzhēn duì dài de shì hěn wán zhěngdài gài shuài yào chāo guò 70% dōuhěn kùn nánwèi gài de dài néng liú liàng de xiǎo de cuò zhè xiē cuò hái huì xiāng yǐng xiǎngdāng bug bào chū lái de shí hòu nán tiáoshì gāo hòu shì wéi chéng běn jiàng liǎo kāi shāng de jìng zhēng shuōjìn xíng chōng fēn de dān yuán shìshì gāo ruǎn jiàn zhì liàngjiàng kāi chéng běn de yóu zhī
   duì chéng yuán lái shuō guǒ yǎng chéng liǎo duì xiě de dài jìn xíng dān yuán shì de guàn dàn xiě chū gāo zhì liàng de dài ér qiě hái néng gāo biān chéng shuǐ píng
   yào jìn xíng chōng fēn de dān yuán shìyìng zhuān mén biān xiě shì dài bìng chǎn pǐn dài lǎo rèn wéi jiào jiǎn dān de bàn shì wéi chǎn pǐn gōng chéng jiàn duì yìng de shì gōng chéngwéi měi lèi jiàn duì yìng de shì lèiwéi měi hán shùhěn jiǎn dān de chú wàijiàn shì hán shùshǒu xiān jiù gài niàn tán tán lǎo de kàn
   bān rèn wéizài jié gòu huà chéng shí dài dān yuán shì suǒ shuō de dān yuán shì zhǐ hán shùzài dāng jīn de miàn xiàng duì xiàng shí dài dān yuán shì suǒ shuō de dān yuán shì zhǐ lèi lǎo de shí jiàn lái kàn lèi zuò wéi shì dān wèi gāo cāo zuò xìng jiào chāyīn réng rán zhù zhāng hán shù zuò wéi dān yuán shì de shì dān wèidàn yòng shì lèi lái zhì mǒu lèi de suǒ yòu shì hán shù dān yuán shì yìng guòfèn qiáng diào miàn xiàng duì xiàngyīn wéi dài rán shì jié gòu huà de dān yuán shì de gōng zuò liàng jiào jiǎn dān shí yòng gāo xiào cái shì yìng dào
   yòu zhǒng kàn shìzhǐ shì lèi de jiē kǒu ( gōng yòu hán shù ), shì hán shùcóng miàn xiàng duì xiàng jiǎo lái kànquè shí yòu dào dàn shì shì de de shì zhǎo cuò bìng zuì zhōng pái cuòyīn zhǐ yào shì bāo hán cuò de néng xìng jiào de hán shù dōuyào shìgēn hán shù shì fǒu yòu méi yòu guān duì c++ lái shuō yòng zhǒng jiǎn dān de fāng shì de hán shùjiǎn dān de hán shù shù xiě hán shù de shí xiàn zài tóu wén jiàn zhōng biān xiě (inline hán shù ), suǒ yòu zài yuán wén jiàn biān xiě shí xiàn de hán shù dōuyào jìn xíng shì ( gòu zào hán shù gòu hán shù chú wài )。
   wèishénme yào shǐ yòng dān yuán shì
   men biān xiě dài shí dìng huì fǎn tiáoshì bǎo zhèng néng gòu biān tōng guò guǒ shì biān méi yòu tōng guò de dài méi yòu rèn rén huì yuàn jiāo gěi de lǎo bǎndàn dài tōng guò biān zhǐ shì shuō míng liǎo de zhèng què men què bǎo zhèng de dìng zhèng quèméi yòu rèn rén qīng chéng nuò zhè duàn dài de xíng wéi dìng shì zhèng què de
   xìng yùn dān yuán shì huì wèiwǒ men de chéng nuò zuò bǎo zhèngbiān xiě dān yuán shì jiù shì yòng lái yàn zhèng zhè duàn dài de xíng wéi shì fǒu men wàng de zhìyòu liǎo dān yuán shì men xìn de jiāo de dài ér méi yòu rèn de hòu zhī yōu
   shénme shí hòu shì dān yuán shì yuè zǎo yuè hǎozǎo dào shénme chéng ? xp kāi lùn jiǎng jiū tdd, shì dòng kāi xiān biān xiě shì dài zài jìn xíng kāi zài shí de gōng zuò zhōng guòfèn qiáng diào xiān shénme hòu shénmezhòng yào de shì gāo xiào gǎn jué shū shìcóng lǎo de jīng yàn lái kànxiān biān xiě chǎn pǐn hán shù de kuàng jiàrán hòu biān xiě shì hán shùzhēn duì chǎn pǐn hán shù de gōng néng biān xiě shì yòng rán hòu biān xiě chǎn pǐn hán shù de dài měi xiě gōng néng diǎn yùn xíng shìsuí shí chōng shì yòng suǒ wèi xiān biān xiě chǎn pǐn hán shù de kuàng jiàshì zhǐ xiān biān xiě hán shù kōng de shí xiànyòu fǎn huí zhí de suí biàn fǎn huí zhíbiān tōng guò hòu zài biān xiě shì dài zhè shíhán shù míngcān shù biǎofǎn huí lèi xíng yìng gāi què dìng xià lái liǎosuǒ biān xiě de shì dài hòu xiū gǎi de néng xìng jiào xiǎo
   yóu shuí shì dān yuán shì shì tóng dān yuán shì kàn zuò shì biān gōng zuò de fēnyīnggāi yóu chéng yuán wán chéng jiù shì shuōjīng guò liǎo dān yuán shì de dài cái shì wán chéng de dài jiāo chǎn pǐn dài shí yào tóng shí jiāo shì dài shì mén zuò dìng chéng de shěn
   guān zhuāng dài lǎo rèn wéi dān yuán shì yìng miǎn biān xiě zhuāng dài zhuāng dài jiù shì yòng lái dài mǒu xiē dài de dài chǎn pǐn hán shù huò shì hán shù diào yòng liǎo wèi biān xiě de hán shù biān xiě zhuāng hán shù lái dài gāi bèi diào yòng de hán shùzhuāng dài yòng shí xiàn shì cǎi yòng yóu xiàng shàng de fāng shì jìn xíng kāi céng de dài xiān kāi bìng xiān shì miǎn biān xiě zhuāng dài zhè yàng zuò de hǎo chù yòujiǎn shǎo liǎo gōng zuò liàng shì shàng céng hán shù shí shì duì xià céng hán shù de jiànjiē shìdāng xià céng hán shù xiū gǎi shítōng guò huí guī shì què rèn xiū gǎi shì fǒu dǎo zhì shàng céng hán shù chǎn shēng cuò
   zài zhǒng chuán tǒng de jié gòu huà biān chéng yán zhōng c, yào jìn xíng shì de dān yuán bān shì hán shù huò guò chéngzài xiàng c++ zhè yàng de miàn xiàng duì xiàng de yán zhōngyào jìn xíng shì de běn dān yuán shì lèiduì ada yán lái shuōkāi rén yuán xuǎn shì zài de guò chéng hán shùhái shì zài ada bāo de bié shàng jìn xíng dān yuán shì dān yuán shì de yuán tóng yàng bèi kuò zhǎn dào dài yán (4gl) de kāi zhōngzài zhè běn dān yuán bèi diǎn xíng huàfēn wéi cài dān huò xiǎn shì jiè miàn
   dān yuán shì jǐn jǐn shì zuò wéi cuò biān zhǒng zhù shǒu duàn zài xìng de kāi guò chéng zhōng shǐ yòng dān yuán shì shì chóngfù de lùn shì zài ruǎn jiàn xiū gǎihuò shì zhí dào xīn de yùn xíng huán jìng de guò chéng zhōngyīn suǒ yòu de shì zài zhěng ruǎn jiàn tǒng de shēng mìng zhōu zhōng jìn xíng wéi
   jīng cháng dān yuán shì lián lái de lìng wài xiē kāi huó dòng bāo kuò dài zǒu (codereview), jìng tài fēn (staticanalysis) dòng tài fēn (dynamicanalysis)。 jìng tài fēn jiù shì duì ruǎn jiàn de yuán dài jìn xíng yán chá zhǎo cuò huò shōu xiē liàng shù bìng yào duì dài jìn xíng biān zhí xíngdòng tài fēn jiù shì tōng guò guān chá ruǎn jiàn yùn xíng shí de dòng zuòlái gōng zhí xíng gēn zōngshí jiān fēn shì gài fāng miàn de xìn
   xiē liú xíng de jiě
   zài míng què liǎo shénme shì dān yuán shì hòu men jìn xíng " fǎn diào lùn zhèng " liǎozài xià miàn de zhāng jié men liè chū liǎo xiē fǎn duì dān yuán shì de biàn de lùn diǎnrán hòu yòng chōng fēn de yóu lái zhèng míng zhè xiē lùn diǎn shì de
   làng fèi liǎo tài duō de shí jiān
   dàn biān wán chéngkāi rén yuán zǒng shì huì qiē wàng jìn xíng ruǎn jiàn de chéng gōng zuòzhè yàng men jiù néng gòu kàn dào shí de tǒng kāi shǐ dòng gōng zuò liǎozhè zài wài biǎo shàng kàn lái shì xiàng míng xiǎn de jìn ér xiàng dān yuán shì zhè yàng de huó dòng huì bèi kàn zuò shì tōng wǎng zhè jiē duàn diǎn de dào shàng de zhàng 'àituī chí liǎo duì zhěng tǒng jìn xíng lián diào zhè zhǒng zhēn zhèng yòu de gōng zuò dòng de shí jiān
   zài zhè zhǒng kāi zhòu zhōngzhēn shí shàng de jìn bèi wài biǎo shàng de jìn dài liǎo tǒng néng gòu zhèng cháng gōng zuò de néng xìng shì hěn xiǎo degèng duō de qíng kuàng shì chōng mǎn liǎo shì yàng de bug。 zài shí jiàn zhōngzhè yàng zhǒng kāi zhòu cháng cháng huì dǎo zhì zhè yàng de jiēguǒruǎn jiàn shèn zhì yùn xínggèng jìn de jiēguǒ shì liàng de shí jiān jiāng bèi huā fèi zài gēn zōng xiē bāo hán zài dān yuán de jiǎn dān de bug shàng miànzài bié qíng kuàng xiàzhè xiē bug shì suǒ suì wēi dào dedàn shì zǒng de lái shuō men huì dǎo zhì zài ruǎn jiàn chéng wéi tǒng shí zēng jiā 'é wài de gōng ér qiě dāng zhè tǒng tóu shǐ yòng shí què bǎo néng gòu kào yùn xíng
   zài shí jiàn gōng zuò zhōngjìn xíng liǎo wán zhěng jìhuà de dān yuán shì biān xiě shí de dài suǒ huā fèi de jīng zhì shàng shì xiāng tóng de dàn wán chéng liǎo zhè xiē dān yuán shì gōng zuòhěn duō bug jiāng bèi jiū zhèngzài què xìn men shǒu tóu yōng yòu wěn dìng kào de jiàn de qíng kuàng xiàkāi rén yuán néng gòu jìn xíng gèng gāo xiào de tǒng chéng gōng zuòzhè cái shì zhēn shí shàng de jìn suǒ shuō wán zhěng jìhuà xià de dān yuán shì shì duì shí jiān de gèng gāo xiào de yòngér tiáoshì rén yuán de shòu kòng sǎnmàn de gōng zuò fāng shì zhǐ huì huā fèi gèng duō de shí jiān 'ér hěn shǎo de hǎo chù
   shǐ yòng adatest cantata zhè yàng de zhī chí gōng shǐ dān yuán shì gèng jiā jiǎn dān yòu xiàodàn zhè shì de dān yuán shì shǐ shì zài méi yòu gōng zhī chí de qíng kuàng xià shì xiàng fēi cháng yòu de huó dòng
   jǐn jǐn shì zhèng míng zhè xiē dài zuò liǎo shénme
   zhè shì xiē méi yòu shǒu xiān wéi měi dān yuán biān xiě xiáng de guī shuō míng 'ér zhí jiē tiào dào biān jiē duàn de kāi rén yuán chū de tiáo biàn de bào yuàndāng biān wán chéng hòu bìng qiě miàn lín dài shì rèn de shí hòu men jiù yuè zhè xiē dài bìng zhǎo chū shí shàng zuò liǎo shénme men de shì gōng zuò jīng xiě hǎo de dài de chǔ shàngdāng rán men zhèng míng rèn shì qíngsuǒ yòu de zhè xiē shì gōng zuò néng gòu biǎo míng de shì qíng jiù shì biān gōng zuò zhèng chángshì de men néng gòu zhuā zhù ( wàng néng gòu ) hǎn jiàn de biān bug, dàn shì men néng gòu zuò de jǐn jǐn shì zhè xiē
   guǒ men shǒu xiān xiě hǎo xiáng de guī shuō míng shì néng gòu guī shuō míng wéi chǔdài jiù néng gòu zhēn duì de guī shuō míngér shì zhēn duì shēn jìn xíng shìzhè yàng de shì réng rán néng gòu zhuā zhù biān de bug, tóng shí néng zhǎo dào gèng duō de biān cuò shèn zhì shì xiē guī shuō míng zhōng de cuò hǎo de guī shuō míng shǐ shì de zhì liàng gèng gāosuǒ zuì hòu de jié lùn shì gāo zhì liàng de shì yào gāo zhì liàng de guī shuō míng
   zài shí jiàn zhōng huì chū xiàn zhè yàng de qíng kuàng kāi rén yuán yào miàn duì shì dān yuán shí zhǐ gěi chū dān yuán de dài 'ér méi yòu guī shuō míng zhè yàng chī tǎo hǎo de rèn zěn yàng zuò cái huì yòu gèng duō de shōu huòér jǐn jǐn shì xiàn biān de bug? shì jiě zhè dān yuán yuán běn yào zuò shénme, --- shì shí shàng zuò liǎo shénme jiào yòu xiào de fāng shì dǎo tuī chū gài yào de guī shuō míngzhè guò chéng de zhù yào shū tiáo jiàn shì yào yuè xiē chéng dài zhù shìzhù yào zhēn duì zhè dān yuán diào yòng bèi diào yòng de xiāng guān dài huà chū liú chéng shì fēi cháng yòu bāng zhù de yòng shǒu gōng huò shǐ yòng mǒu zhǒng gōng zhì duì zhè gài yào guī shuō míng de zǒu (review), què bǎo duì zhè dān yuán de shuō míng méi yòu běn de cuò yòu liǎo zhè zhǒng zuì xiǎo chéng de dài shēn céng shuō míngjiù yòng lái shè dān yuán shì liǎo
   shì hěn bàng de chéng yuán shì shì jìn xíng dān yuán shì
   zài měi kāi zhì zhōng zhì shǎo yòu zhè yàng de kāi rén yuán fēi cháng shàn cháng biān chéng men kāi de ruǎn jiàn zǒng shì zài shí jiān jiù zhèng cháng yùn xíngyīn yào jìn xíng shì shì fǒu jīng cháng tīng dào zhè yàng de jiè kǒu
   zài zhēn shí shì jiè měi rén huì fàn cuò shǐ mǒu kāi rén yuán bào zhe zhè zhǒng tài zài hěn shǎo de xiē jiǎn dān de chéng zhōng yìng guò dàn zhēn zhèng de ruǎn jiàn tǒng shì fēi cháng dezhēn zhèng de ruǎn jiàn tǒng wàng méi yòu jìn xíng guǎng fàn de shì bug xiū gǎi guò chéng jiù zhèng cháng gōng zuò
   biān shì xìng tōng guò de guò chéngzài zhēn shí shì jiè zhōngruǎn jiàn chǎn pǐn jìn xíng wéi duì cāo zuò qiú de gǎi biàn zuò chū fǎn yìngbìng qiě yào duì zuì chū de kāi gōng zuò liú xià lái de bug jìn xíng xiū gǎi wàng kào xiē yuán shǐ zuò zhě jìn xíng xiū gǎi zhè xiē zhì zào chū zhè xiē wèi jīng shì de yuán shǐ dài de shēn zhuān jiā men hái huì zài fāng zhì zào zhè yàng de dài zài kāi rén yuán zuò chū xiū gǎi hòu jìn xíng chóngfù de dān yuán shì miǎn chǎn shēng xiē lìng rén kuài de zuò yòng
   guǎn zěn yàng chéng shì jiāng huì zhuā zhù suǒ yòu de bug
   men jīng zài qián miàn de tǎo lùn zhōng cóng miàn duì zhè wèn jìn xíng liǎo fēn de chǎn shùzhè lùn diǎn chéng de yuán yīn zài guī yuè de dài chéng wèi zhe xìng jiù yuè gāo guǒ ruǎn jiàn de dān yuán méi yòu shì xiān jìn xíng shìkāi rén yuán hěn néng huì huā fèi liàng de shí jiān jǐn jǐn shì wèile shǐ ruǎn jiàn néng gòu yùn xíngér rèn shí de shì fāng 'àn dōuwú zhí xíng
   dàn ruǎn jiàn yùn xíng liǎokāi rén yuán yòu yào miàn duì zhè yàng de wèn zài kǎo ruǎn jiàn quán xìng de qián xià duì měi dān yuán jìn xíng quán miàn de shìzhè shì jiàn fēi cháng kùn nán de shì qíngshèn zhì zài chuàng zào zhǒng dān yuán diào yòng de shì tiáo jiàn de shí hòuyào quán miàn de kǎo dān yuán de bèi diào yòng shí de zhǒng kǒu cān shùzài ruǎn jiàn chéng jiē duànduì dān yuán gōng néng quán miàn shì de chéng yuǎn yuǎn de chāo guò jìn xíng de dān yuán shì guò chéng
   zuì hòu de jiēguǒ shì shì jiāng dào suǒ yīnggāi yòu de quán miàn xìng xiē quē xiàn jiāng bèi lòubìng qiě hěn duō bug jiāng bèi lüè guò
   ràng men lèi xiàjiǎ shè men yào qīng tái jīng wán quán zhuāng pèi hǎo de shí jiā gōng ! lùn pēn liǎo duō shǎo shuǐ qīng jié xiē shí de xiǎo suì piàn hái shì huì nián zài de jiǎo wèi zhìzhǐ yòu rèn làn bìng děng dài hòu zài xiǎng bàn dàn men huàn jiǎo xiǎng xiǎng guǒ zhè tái shì chāi kāi dezhè xiē jiǎo jiù cún zài huò zhě gèng róng jiē chù dào liǎobìng qiě měi fēn dōukě háo fèi de jìn xíng qīng
   de chéng běn xiàolǜ gāo
   dìng de kāi zhì huò ruǎn jiàn yìng yòng tǒng de shì shuǐ píng jué duì xiē wèi xiàn de bug de qián zài hòu guǒ de zhòng shì chéng zhè zhǒng hòu guǒ de yán zhòng chéng cóng bug yǐn de xiǎo xiǎo de biàn dào shēng duō de de qíng kuàngzhè zhǒng hòu guǒ néng cháng cháng huì bèi ruǎn jiàn de kāi rén yuán suǒ shì ( dàn shì yòng huì zhè yàng ), zhè zhǒng qíng kuàng huì cháng de sǔn hài zhè xiē xiàng yòng jiāo dài yòu bug de ruǎn jiàn de kāi zhì de xìn bìng qiě huì dǎo zhì duì wèi lái de shì chǎng chǎn shēng miàn de yǐng xiǎngxiāng fǎn kào de ruǎn jiàn tǒng de liáng hǎo de shēng jiāng yòu zhù kāi zhì huò wèi lái de shì chǎng
   hěn duō yán jiū chéng guǒ biǎo míng lùn shénme shí hòu zuò chū xiū gǎi dōuyào jìn xíng wán zhěng de huí guī shìzài shēng mìng zhōu zhōng jìn zǎo duì ruǎn jiàn chǎn pǐn jìn xíng shì jiāng shǐ xiàolǜ zhì liàng dào zuì hǎo de bǎo zhèng。 bug xiàn de yuè wǎnxiū gǎi suǒ de fèi yòng jiù yuè gāoyīn cóng jīng jiǎo lái kànyīnggāi jìn néng zǎo de chá zhǎo xiū gǎi bug。 zài xiū gǎi fèi yòng biàn de guò gāo zhī qián dān yuán shì shì zài zǎo zhuā zhù bug de huì
   xiāng hòu jiē duàn de shì dān yuán shì de chuàng jiàn gèng jiǎn dānwéi gèng róng bìng qiě gèng fāng biàn de jìn xíng chóngfùcóng quán chéng de fèi yòng lái kǎo xiāng xiē qiě kuàng chí jiǔ de chéng shìhuò shì wěn dìng de ruǎn jiàn tǒng lái shuō dān yuán shì suǒ de fèi yòng shì hěn de
   xiē biǎo
   zhè xiē biǎo zhāi << shí yòng ruǎn jiàn liàng >>(capersjones, mcgraw-hill1991), liè chū liǎo zhǔn bèi shìzhí xíng shì xiū gǎi quē xiàn suǒ huā fèi de shí jiān ( gōng néng diǎn wéi zhǔn ), zhè xiē shù xiǎn shì dān yuán shì de chéng běn xiàolǜ yuē shì chéng shì de liǎng bèi tǒng shì de sān bèi ( cān jiàn tiáo xíng )。
  ( shù shì (fieldtest) shì zài ruǎn jiàn tóu shǐ yòng hòuzhēn duì mǒu lǐng suǒ zuò de suǒ yòu shì huó dòng )
   zhè biǎo bìng biǎo shì kāi rén yuán yìng gāi jìn xíng hòu jiē duàn de shì huó dòngzhè shì huó dòng réng rán shì de de zhēn zhèng shì jìn néng zǎo de pái chú jìn néng duō de bug jiǎn shǎo hòu jiē duàn shì de fèi yòng
   de xiē biǎo xiǎn shì gāo 50% de wéi gōng zuò liàng bèi huā zài xiē zǒng shì huì yòu de bug de xiū gǎi shàng miàn guǒ zhè xiē bug zài kāi jiē duàn bèi pái chú diào de huàzhè xiē gōng zuò liàng jiù jié shěng xià láidāng kǎo dào ruǎn jiàn wéi fèi yòng néng huì zuì chū de kāi fèi yòng gāo chū shù bèi de shí hòuzhè zhǒng qián zài de duì 50% ruǎn jiàn wéi fèi yòng de jié shěng jiāng duì zhěng ruǎn jiàn shēng mìng zhōu fèi yòng chǎn shēng zhòng de yǐng xiǎng
   jié lùn
   jīng yàn biǎo míng jìn de dān yuán shì fāng jiāng huì zài ruǎn jiàn kāi de mǒu jiē duàn xiàn hěn duō de bug, bìng qiě xiū gǎi men de chéng běn hěn zài ruǎn jiàn kāi de hòu jiē duàn, bug de xiàn bìng xiū gǎi jiāng huì biàn gèng jiā kùn nánbìng yào xiāo hào liàng de shí jiān kāi fèi yòng lùn shénme shí hòu zuò chū xiū gǎi dōuyào jìn xíng wán zhěng de huí guī shìzài shēng mìng zhōu zhōng jìn zǎo duì ruǎn jiàn chǎn pǐn jìn xíng shì jiāng shǐ xiàolǜ zhì liàng dào zuì hǎo de bǎo zhèngzài gōng liǎo jīng guò shì de dān yuán de qíng kuàng xià tǒng chéng guò chéng jiāng huì jiǎn huàkāi rén yuán jiāng jīng zhōng zài dān yuán zhī jiān de jiāo zuò yòng quán de gōng néng shí xiàn shàngér shì xiàn chōng mǎn hěn duō bug de dān yuán zhī zhōng néng
   shǐ shì gōng zuò de xiào huī dào zuì huà de guān jiàn zài xuǎn zhèng què de shì lüèzhè zhōng bāo hán liǎo wán quán de dān yuán shì de gài niàn duì shì guò chéng de liáng hǎo de guǎn hái yòu shìdàng shǐ yòng xiàng adatest cantata zhè yàng de gōng lái zhī chí shì guò chéngzhè xiē huó dòng chǎn shēng zhè yàng de jiēguǒzài huā fèi gèng de kāi fèi yòng de qíng kuàng xià dào gèng wěn dìng de ruǎn jiàngèng jìn de hǎo chù shì jiǎn huà liǎo wéi guò chéng bìng jiàng liǎo shēng mìng zhōu de fèi yòngyòu xiào de dān yuán shì shì tuī xíng quán zhì liàng wén huà de fēnér zhè zhǒng zhì liàng wén huà jiāng huì wéi ruǎn jiàn kāi zhě dài lái xiàn de shāng
   dān yuán shì de yōu diǎn
  1、 shì zhǒng yàn zhèng xíng wéi
   chéng zhōng de měi xiàng gōng néng dōushì shì lái yàn zhèng de zhèng què xìng wéi hòu de kāi gōng zhī huǎnjiù suàn shì kāi hòu men qīng sōng de zēng jiā gōng néng huò gēnggǎi chéng jié gòuér yòng dān xīn zhè guò chéng zhōng huì huài zhòng yào de dōng ér qiě wéi dài de zhòng gòu gōng liǎo bǎo zhàngzhè yàng men jiù gèng yóu de duì chéng jìn xíng gǎi jìn
  2、 shì zhǒng shè xíng wéi
   biān xiě dān yuán shì jiāng shǐ men cóng diào yòng zhě guān chá kǎo bié shì xiān xiě shì( test-first), shǐ men chéng shè chéng diào yòng shì de shǐ men jiě chú ruǎn jiàn zhōng de 'ǒu
  3、 shì zhǒng biān xiě wén dàng de xíng wéi
   dān yuán shì shì zhǒng jià de wén dàng shì zhǎn shì hán shù huò lèi shǐ yòng de zuì jiā wén dàngzhè fèn wén dàng shì biān yùn xíng debìng qiě bǎo chí zuì xīnyǒng yuǎn dài tóng
  4、 yòu huí guī xìng
   dòng huà de dān yuán shì miǎn liǎo dài chū xiàn huí guībiān xiě wán chéng zhī hòu suí shí suí de kuài yùn xíng shì
   dān yuán shì de fàn chóu
   guǒ yào gěi dān yuán shì dìng míng què de fàn chóuzhǐ chū xiē gōng néng shì shǔ dān yuán shìzhè hěn nándàn xià miàn tǎo lùn de wèn běn shàng shuō míng dān yuán shì de fàn chóu dān yuán shì suǒ yào zuò de gōng zuò
  1、 de xíng wéi wàng de zhì
   zhè shì dān yuán shì zuì gēn běn de mùdì men jiù shì yòng dān yuán shì de dài lái zhèng míng suǒ zuò de jiù shì men suǒ wàng de
  2、 de xíng wéi zhí wàng de zhì
   biān xiě dān yuán shì guǒ zhǐ shì dài de tiáo zhèng què jìngràng zhèng què zǒu biànbìng suàn shì zhēn zhèng de wán chéngruǎn jiàn kāi shì xiàng de gōng chéngzài shì mǒu duàn dài de xíng wéi shì fǒu de wàng zhì shí yào què rènzài rèn qíng kuàng xiàzhè duàn dài shì fǒu de wàng zhì cān shù hěn yìng pán méi yòu shèng kōng jiānhuǎn chōng chūwǎng luò diào xiàn de shí hòu
  3、 lài dān yuán shì
   néng lài de dài shì méi yòu duō yòng chù de rán dān yuán shì shì yòng lái bǎo zhèng dài de zhèng què xìng me dān yuán shì dìng yào zhí lài
  4、 dān yuán shì shuō míng de liǎo
   dān yuán shì néng gòu bāng men chōng fēn liǎo jiě dài de yòng cóng xiào guǒ shàng 'ér yán dān yuán shì jiù xiàng shì néng zhí xíng de wén dàngshuō míng liǎo zài yòng zhǒng tiáo jiàn diào yòng dài shí suǒ néng wàng zhè duàn dài wán chéng de gōng néng
   xiě shì de jiè kǒu
   dào zhè men jīng liè liǎo shǐ yòng dān yuán shì de zhǒng zhǒng yóu měi réndōu tóng shì degāi zuò gèng duō de shìzhè zhǒng rén rén tóng de shì qíng hái duō zhe shì degāi duō chī shū càigāi jiè yāngāi duō xiū gāi duō duàn liàn zhè bìng wèi zhe men zhōng de suǒ yòu rén huì zhè me zuò shì
  1、 biān xiě dān yuán shì tài huā shí jiān liǎo
   men zhī dàozài kāi shí yuè zǎo xiàn bug, jiù néng jié shěng gèng duō de shí jiānjiàng gèng duō de fēng xiǎn
   xià biǎo zhāi << shí yòng ruǎn jiàn liàng >>(capersjones, mcgraw-hill1991), liè chū liǎo zhǔn bèi shìzhí xíng shì xiū gǎi quē xiàn suǒ huā fèi de shí jiān ( gōng néng diǎn wéi zhǔn ), zhè xiē shù xiǎn shì dān yuán shì de chéng běn xiàolǜ yuē shì chéng shì de liǎng bèishì tǒng shì de sān bèi ( cān jiàn tiáo xíng )。
   shù shì (fieldtest) shì zài ruǎn jiàn tóu shǐ yòng hòuzhēn duì mǒu lǐng suǒ zuò de suǒ yòu shì huó dòng
   guǒ réng rán rèn wéi zài biān xiě chǎn pǐn dài de shí hòuhái shì méi yòu shí jiànbiān xiě shì dài me qǐng xiān kǎo xià miàn zhè xiē wèn
  1)、 duì suǒ biān xiě de dài zài tiáoshì shàng miàn huā liǎo duō shǎo shí jiān
  2)、 duì qián rèn wéi zhèng què de dài ér shí shàng zhè xiē dài què cún zài zhòng de bug, huā liǎo duō shǎo shí jiān zài chóngxīn què rèn zhè xiē dài shàng miàn
  3)、 duì bié rén bào gào de bug, huā liǎo duō shǎo shí jiān cái zhǎo chū dǎo zhì zhè bug de yuán wèi zhì
   huí wán zhè xiē wèn dìng zài tài huā shí jiān zuò wéi jué dān yuán shì de jiè kǒu
  2、 yùn xíng shì de shí jiān tài cháng liǎo
   shì de shì shì huì ràng zhè zhǒng qíng kuàng shēng deshí shàng duō shù shì de zhí xíng dōushì fēi cháng kuài deyīn zài miǎo zhī nèi jiù yùn xíng chéng qiān shàng wàn shìdàn shì yòu shí mǒu xiē shì huì huā fèi hěn cháng de shí jiānzhè shí yào zhè xiē hào shí de shì shì fēn kāitōng cháng měi tiān yùn xíng zhè zhǒng shì huò zhě tiān
  3、 shì dài bìng shì de gōng zuò
   de gōng zuò jiù shì bǎo zhèng dài néng gòu zhèng què de wán chéng de xíng wéiqià qià xiāng fǎn shì dài zhèng shì quē shǎo de gōng zuò
  4、 bìng qīng chǔ dài de xíng wéisuǒ jiù cóng shì
   guǒ shí zài qīng chǔ dài de xíng wéi me xiàn zài bìng shì biān de shí hòu guǒ bìng zhī dào dài de xíng wéi me yòu zhī dào biān xiě de dài shì zhèng què de ?
  5、 dàn shì zhè xiē dài dōunéng gòu biān tōng guò
   men qián miàn jīng shuō guòdài tōng guò biān zhǐ shì yàn zhèng de tōng guòdàn bìng néng bǎo zhèng de xíng wéi jiù dìng zhèng què
  6、 gōng qǐng lái shì wéi liǎo xiě dài ér shì xiě shì
   gōng gěi xīn shuǐ shì wéi liǎo ràng biān xiě chǎn pǐn dài ér dān yuán shì shàng shì gōng shì biān ji kāi huán jìngbiān děng chǔyú tóng wèi zhì de gōng
  7、 guǒ ràng shì yuán huò zhě qa( qualityassurance) rén yuán méi yòu gōng zuò me huì jué hěn nèi jiù
   bìng yào dān xīn zhè xiēqǐng zhù men zài zhǐ shì tán lùn dān yuán shìér zhǐ shì zhǒng zhēn duì yuán de céng dewéi chéng yuán 'ér shè de shìzài zhěng xiàng zhōnghái yòu de hěn duō shì yào zhè xiē rén lái wán chénggōng néng shìyàn shōu shìxìng néng shìhuán jìng shìyòu xiào xìng shìzhèng què xìng shìzhèng guī fēn děng děng
  8、 de gōng bìng huì ràng zài zhēn shí tǒng zhōng yùn xíng dān yuán shì
   men suǒ tǎo lùn de zhǐ shì zhēn duì kāi zhě de dān yuán shì jiù shì shuō guǒ zài de huán jìng xià zài zhèng shì de chǎn pǐn tǒng zhōngyùn xíng zhè xiē shì de huà me men jiù zài shì dān yuán shìér shì lèi xíng de shì liǎoshí shàng zài de běn yùn xíng dān yuán shìshǐ yòng de shù huò zhě shǐ yòng mock duì xiàng
   shì dài biān xiě
   duō shù jiǎng shù dān yuán shì de wén zhāng dōushì java wéi běn wén c++ wéi hòu bàn fēn suǒ jiè shào de dān yuán shì gōng zhǐ jiè shào c++ dān yuán shì gōng xià miàn de shì dài de kāi huán jìng shì vc6.0。
   chǎn pǐn lèi
  classcmyclass
  {
  public:
  intadd(inti,intj);
  cmyclass();
  virtual~cmyclass();
  private:
  intmage;// nián líng
  cstringmphase;// nián líng jiē duàn " shàonián ", " qīng nián "
  };
   jiàn duì yìng de shì lèi cmyclasstester, wèile jié yuē biān zhǐ liè chū yuán wén jiàn de dài
  voidcmyclasstester::casebegin()
  {
  //pobj shì cmyclasstester lèi de chéng yuán biàn liàngshì bèi shì lèi de duì xiàng de zhǐ zhēn
  // wéi qiú jiǎn dānsuǒ yòu de shì lèi dōukě yòng pobj mìng míng bèi shì duì xiàng de zhǐ zhēn
  pobj=newcmyclass();
  }
  voidcmyclasstester::caseend()
  {
  _delete_pobj;
  }
   shì lèi de hán shù casebegin() caseend() jiàn xiāo huǐ bèi shì duì xiàngměi shì yòng de kāi tóu dōuyào diào yòng casebegin(), jié wěi dōuyào diào yòng caseend()。
   jiē xià lái men jiàn shì de chǎn pǐn hán shù
  intcmyclass::add(inti,intj)
  {
  returni+j;
  }
   duì yìng de shì hán shù
  voidcmyclasstester::add_int_int()
  {
  }
   cān shù biǎo zuò wéi hán shù míng de fēnzhè yàng dāng chū xiàn zhòng zài de bèi shì hán shù shí shì hán shù huì chǎn shēng mìng míng chōng xià miàn tiān jiā shì yòng
  voidcmyclasstester::add_int_int()
  {
  // shì yòng
  casebegin();{//1
  inti=0;//2
  intj=0;//3
  intret=pobj->add(i,j);//4
  assert(ret==0);//5
  }caseend();//6
  }
   1 6 xíng jiàn xiāo huǐ bèi shì duì xiàngsuǒ jiā de {} shì wéi liǎo ràng měi shì yòng de dài yòu de biàn duō shì yòng shǐ yòng xiāng tóng de biàn liàng míng
   2 3 xíng shì dìng shū shù 4 xíng shì diào yòng bèi shì hán shùzhè xiē róng jiě zuò jìn jiě shì 5 xíng shì shū chū de diǎn shì dāng shí shū chū shū chū tóng shí dòng bào cuò, assert shì vc de duàn yán hóng shǐ yòng lèi gōng néng de hóngshǐ yòng shì gōng jìn xíng dān yuán shì shí shǐ yòng gāi gōng dìng de duàn yán hóng
   shì zhōng de shì xiǎn hěn jiǎn jié, 2、 、 4、 5 xíng xiě wéi yīháng: assert(pobj->add(0,0)==0); dàn zhè zhǒng jiǎn jié de shì què shì lǎo tuī jiàn deyīn wéi liǎo rán jiàn duō shì yòng bìng qiě yòu hěn hǎo de shì yìng xìngtóng shí shì jiā de dài wén dàngzǒng zhīlǎo jiàn shū shù shū chū yào chéng kuài
   jiàn liǎo shì yòng hòuyìng biān bìng yùn xíng shì pái chú cuò rán hòushǐ yòng kǎo bèi / xiū gǎi de bàn jiàn shì yòng yóu shì yòng zhī jiān de chā bié wǎng wǎng hěn xiǎotōng cháng zhǐ xiū gǎi liǎng shù kǎo bèi / xiū gǎi shì jiàn duō shì yòng de zuì kuài jié bàn
   shì yòng
   xià miàn shuō shuō shì yòng shū shù shū chūshū shù shì shì yòng de xīnlǎo duì shū shù de dìng shìbèi shì hán shù suǒ de wài shù zhè xiē shù de chū shǐ zhíwài shù shì duì bèi shì hán shù lái shuō deshí shàng jiù shì chú liǎo biàn liàng wài de shù lǎo zhè xiē shù fēn wéi lèicān shùchéng yuán biàn liàngquán biàn liàng、 io méi 。 io méi shì zhǐ wén jiànshù huò chǔ cún huò chuán shū shù de méi bèi shì hán shù yào cóng wén jiàn huò shù shù mewén jiàn huò shù zhōng de yuán shǐ shù shǔ shū shù hán shù lùn duō dōuwú fēi shì duì zhè lèi shù de suàn xiě shū chū shì zhǐfǎn huí zhí bèi shì hán shù suǒ xiě de wài shù de jiēguǒ zhífǎn huí zhí jiù yòng shuō liǎobèi shì hán shù jìn xíng liǎo xiě cāo zuò de cān shù ( shū chū cān shù )、 chéng yuán biàn liàngquán biàn liàng、 io méi men de de jiēguǒ zhí dōushì shū chū shì yòng jiù shì shè dìng shū shù yùn xíng bèi shì hán shùrán hòu pàn duàn shí shū chū shì fǒu xià miàn chéng yuán biàn liàng yòu guān de
   chǎn pǐn hán shù
  voidcmyclass::grow(intyears)
  {
  mage+=years;
  if(mage<10)
  mphase=" ér tóng ";
  elseif(mage<20)
  mphase=" shàonián ";
  elseif(mage<45)
  mphase=" qīng nián ";
  elseif(mage<60)
  mphase=" zhōng nián ";
  else
  mphase=" lǎo nián ";
  }
   shì hán shù zhōng de shì yòng
  casebegin();{
  intyears=1;
  pobj->mage=8;
  pobj->grow(years);
  assert(pobj->mage==9);
  assert(pobj->mphase==" ér tóng ");
  }caseend();
   zài shū shù zhōng duì bèi shì lèi de chéng yuán biàn liàng mage jìn xíng zhízài shū chū zhōng duàn yán chéng yuán biàn liàng de zhíxiàn zài kàn dào lǎo suǒ tuī jiàn de shì de hǎo chù liǎo zhè zhǒng shì shì yìng hěn de shìzài shū shù fēn hái diào yòng chéng yuán hán shù zhí xíng bèi shì hán shù qián néng yào wén jiàn zhōng de shù bǎo cún dào chéng yuán biàn liànghuò yào lián jiē shù lǎo zhè xiē cāo zuò chēng wéi chū shǐ huà cāo zuò shàng zhōng assert(...) zhī qián jiā pobj->openfile();。 wèile fǎng wèn yòu chéng yuán jiāng shì lèi dìng wéi chǎn pǐn lèi de yǒu yuán lèi dìng hóng
  #defineunit_test(cls)friendclasscls##tester;
   rán hòu zài chǎn pǐn lèi shēng míng zhōng jiā yīháng dài : unit_test(classname)。
   xià miàn tán tán shì yòng shè qián miàn jīng shuō liǎo shì yòng de xīn shì shū shù shū chū shì shū shù chéng gōng néng lái què dìng de jiù shì shuōduì mǒu chéng shū shù què dìng liǎo shū chū jiù què dìng liǎozhì shēng chéng / xiāo huǐ bèi shì duì xiàng yùn xíng shì de shì suǒ yòu shì yòng dōudà tóng xiǎo deyīn men tǎo lùn shì yòng shízhǐ tǎo lùn shū shù
   qián miàn shuō guòshū shù bāo kuò lèicān shùchéng yuán biàn liàngquán biàn liàng、 io méi zhè lèi shù zhōngzhǐ yào suǒ shì de chéng yào zhí xíng cāo zuò dejiù yào shè dìng chū shǐ zhí zhōngqián liǎng lèi jiào cháng yònghòu liǎng lèi jiào shǎo yòngxiǎn rán shū shù de suǒ yòu néng zhí jìn xíng shìshì néng shì de men yīnggāi yòng dìng de guī xuǎn yòu dài biǎo xìng de shù zuò wéi shū shù zhù yào yòu sān zhǒngzhèng cháng shū biān jiè shū fēi shū měi zhǒng shū hái fēn lèi jiù shì píng cháng shuō de děng jià lèi měi lèi shù zuò wéi shū shù guǒ shì tōng guò kěn dìng tóng lèi de shū shì tōng guò dexià miàn shuō míng
   zhèng cháng shū
   chuàn de trim hán shùgōng néng shì jiāng chuàn qián hòu de kònggé chú me zhèng cháng de shū yòu lèiqián miàn yòu kōng hòu miàn yòu kōng qián hòu jūn yòu kònggéqián hòu jūn kōng
   biān jiè shū
   shàng zhōng kōng chuàn kàn zuò shì biān jiè shū
   zài biǎo shì nián líng de cān shù de yòu xiào fàn wéi shì 0-100, me biān jiè shū yòu liǎng : 0 100。
   fēi shū
   fēi shū shì zhèng cháng zhí fàn wéi wài de shù huò shǐ dài néng wán chéng zhèng cháng gōng néng de shū shàng zhōng biǎo shì nián líng de cān shùxiǎo 0 huò 100 dōushì fēi shū zài jìn xíng wén jiàn cāo zuò de hán shùfēi shū yòu zhè me lèiwén jiàn cún zài cún zàiwén jiàn zhèng zài bèi chéng kāiquán xiàn cuò
   guǒ hán shù shǐ yòng liǎo wài shù zhèng cháng shū shì kěn dìng huì yòu deér biān jiè shū fēi shū shì suǒ yòu hán shù dōuyòu bān qíng kuàng xià shǐ méi yòu shè wén dàngkǎo shàng sān zhǒng shū zhǎo chū hán shù de běn gōng néng diǎnshí shàng dān yuán shì dài biān xiě shì liǎng miànde guān biān shí duì shàng shù sān zhǒng shū dōushì kǎo defǒu dài de jiàn zhuàng xìng jiù huì chéng wèn
   bái gài
   shàng miàn suǒ shuō de shì shù dōushì zhēn duì chéng de gōng néng lái shè dejiù shì suǒ wèi de hēi shì dān yuán shì hái yào cóng lìng jiǎo lái shè shì shù zhēn duì chéng de luó ji jié gòu lái shè shì yòng jiù shì suǒ wèi de bái shìzài lǎo kàn lái guǒ hēi shì shì gòu chōng fēn de me bái shì jiù méi yòu yào gòu chōng fēnzhǐ shì zhǒng xiǎng zhuàng tài zhēn de shì suǒ yòu gōng néng diǎn shì liǎo chéng de gōng néng diǎn shì rén wéi de dìng cháng cháng shì quán miàn de shū shù zhī jiānyòu xiē néng huì chǎn shēng wèn zěn yàng bǎo zhèng zhè xiē jīng guò liǎo shìnán héng liàng shì de wán zhěng xìng shì hēi shì de zhù yào quē xiànér bái shì qià qià yòu héng liàng shì wán zhěng xìng de yōu diǎnliǎng zhě zhī jiān yòu hǎo de xìng wán chéng gōng néng shì hòu tǒng gài shuài guǒ gài wèi wán chénghěn néng shì wèi gài de suǒ duì yìng de gōng néng diǎn wèi shì
   bái shì zhēn duì chéng de luó ji jié gòu shè shì yòng yòng luó ji gài shuài lái héng liàng shì de wán zhěng xìngluó ji dān wèi zhù yào yòu fēn zhītiáo jiàntiáo jiàn zhítiáo jiàn zhí jìng gài jiù shì gài suǒ yòu de lèi tuīlìng wài hái yòu zhǒng pàn dìng tiáo jiàn gài shí shì fēn zhī gài tiáo jiàn gài de zài zuò tǎo lùngēn tiáo jiàn yòu guān de gài jiù yòu sān zhǒngjiě shì xiàtiáo jiàn gài shì zhǐ gài suǒ yòu de tiáo jiàn biǎo shì suǒ yòu de tiáo jiàn biǎo shì zhì shǎo suàn kǎo suàn jiēguǒtiáo jiàn zhí gài shì zhǐ gài tiáo jiàn de suǒ yòu néng zhí měi tiáo jiàn de zhēn zhí jiǎ zhí dōuyào zhì shǎo suàn tiáo jiàn zhí gài shì zhǐ gài suǒ yòu tiáo jiàn zhí de suǒ yòu néng lǎo zuò guò xiē qiǎn de yán jiū xiàn tiáo jiàn zhí jiē yòu guān de cuò zhù yào shì luó ji cāo zuò cuò : || xiě chéng &&, lòu liǎo xiě ! shénme decǎi yòng fēn zhī gài tiáo jiàn gài de běn shàng xiàn zhè xiē cuò lìng fāng miàntiáo jiàn zhí gài tiáo jiàn zhí gài wǎng wǎng yào liàng de shì yòng yīn zài lǎo kàn láitiáo jiàn zhí gài tiáo jiàn zhí gài de xiào fèi piān lǎo rèn wéi xiào fèi jiào gāo qiě wán zhěng xìng gòu de shì yào qiú shì zhè yàng dewán chéng gōng néng shìwán chéng gàitiáo jiàn gàifēn zhī gài jìng gàizuò guò dān yuán shì de péng yǒu kǒng huì duì lǎo chū de shì yào qiú jǐyǔ de píng jiàyùnhuò zhě liǎng de píng jiàkuáng yùnyīn wéi zhè shì néng de yào qiúyào dào zhè zhǒng shì wán zhěng xìng shì chéng běn shì xiǎng xiàng de guòchū jiā rén guàng lǎo zhī suǒ chū zhè zhǒng shì yào qiúshì yīn wéi yòng xiē gōng zài jiào de chéng běn xià dào zhè zhǒng shì yào qiúhòu miàn jiāng huì zuò jìn jiè shào
   guān bái shì yòng de shè chéng shì lǐng de shū bān dōuyòu jiǎng shù tōng fāng shì huà chū chéng de luó ji jié gòu chéng liú chéng huò kòng zhì liú gēn luó ji jié gòu shè shì yòng zhè xiē shì chún cuì de bái shì shì lǎo xiǎng tuī jiàn de fāng shìlǎo suǒ tuī jiàn de fāng shìxiān wán chéng hēi shìrán hòu tǒng bái gài shuàizhēn duì wèi gài de luó ji dān wèi shè shì yòng gài xiān jiǎn chá shì fǒu yòu wèi gàiyòu de huà shè shì yòng gài rán hòu yòng tóng yàng fāng wán chéng tiáo jiàn gàifēn zhī gài jìng gàizhè yàng de huà jiǎn yàn liǎo hēi shì de wán zhěng xìngyòu miǎn liǎo chóngfù de gōng zuòyòng jiào shǎo de shí jiān chéng běn dào fēi cháng gāo de shì wán zhěng xìng guòzhè xiē gōng zuò shì shǒu gōng néng wán chéng de jiè zhù gōng hòu miàn huì jiè shào wán chéng zhè xiē gōng zuò de shì gōng
   dān yuán shì gōng
   xiàn zài kāi shǐ jiè shào dān yuán shì gōng lǎo zhǐ jiè shào sān zhǒngdōushì yòng c++ yán de
   shǒu xiān shì cppunit, zhè shì c++ dān yuán shì gōng de miǎn fèi de kāi yuán de dān yuán shì kuàng jiàyóu yòu zhòng gāo rén xiě liǎo shǎo guān cppunit de hěn hǎo de wén zhānglǎo jiù xiàn chǒu liǎoxiǎng liǎo jiě cppunit de péng yǒujiàn xià cpluser suǒ zuò de《 cppunit shì kuàng jià mén》, wǎng zhǐ shì: http://blog.csdn.net/cpluser/archive/2004/09/21/111522.aspx。 gāi wén gōng liǎo cppunit de xià zài zhǐ
   rán hòu jiè shào c++test, zhè shì parasoft gōng de chǎn pǐn c++test shì gōng néng qiáng de dòng huà c/c++ dān yuán shì gōng dòng shì rèn c/c++ hán shùlèi dòng shēng chéng shì yòng shì dòng hán shù huò zhuāng hán shùzài dòng huà de huán jìng xià róng kuài de jiāng dān yuán de shì gài shuài dào 100% 。[] nèi de wén yǐn http://www.superst.com.cn/softwares_testing_c_cpptest, zhè shì huá táng gōng de wǎng lǎo xiǎng xiě xiē jiè shào c++test de wén dàn xiàn chāo yuè huá táng gōng de wǎng shàng de jiè shàosuǒ jiù shěng diǎn shì liǎoxiǎng liǎo jiě c++test de péng yǒujiàn fǎng wèn gāi gōng de wǎng zhànhuá táng gōng dài c++test, xiǎng yào gòu mǎi huò suǒ bào jiàshì yòng bǎn dōukě zhǎo men
   zuì hòu jiè shào visualunit, jiǎn chēng vu, zhè shì guó chǎn de dān yuán shì gōng shuō shēn qǐng liǎo duō xiàng zhuān yōng yòu chuàng xīn de shù guò lǎo zhǐ guān xīn shì shì yòu yòng hǎo yòng。[ dòng shēng chéng shì dài kuài jiàn gōng néng shì yòng chéng xíng wéi liǎo rán gāo de shì wán zhěng xìng gāo xiào wán chéng bái gài kuài pái cuò gāo xiào tiáoshì xiáng jìn de shì bào gào]。[] nèi de wén shì vu kāi shāng de wǎng shàng zhāi dewǎng zhǐ shì: http://www.unitware.cn。 qián miàn suǒ shù shì yào qiúwán chéng gōng néng shìwán chéng gàitiáo jiàn gàifēn zhī gài jìng gàiyòng vu qīng sōng shí xiànhái yòu diǎn zhí shǐ yòng vu hái néng gāo biān de xiàolǜzǒng lái shuōzài wán chéng dān yuán shì de tóng shíbiān tiáoshì de shí jiān hái néng suō duǎnsuàn liǎo xiǎng zài jiǎng liǎolǎo xiǎn bǎi lùnjiè shào jīng yàn hái shì yòu xīng deyīn wéi mǎn lǎo hàowéirénshī de róng xīndàn jiè shào gōng jiù jué suǒ rán wèi liǎo jìng gōng hǎo hǎo yòng yòngyào shì guò cái zhī dàohái shì kāi shāng de wǎng zhàn kàn xià zài yǎn shì bǎnhái yòu yǎn shì jiàn
xiàngguāncí
shì php shì gōng ruǎn jiàn shì backKent dòng huà shì gōng duān
bāo hán cí
dān yuán shì guò chéngdān yuán shì rèn lián wǎng dān yuán shì shí jiàn
xiǎo xué shù xué dān yuán shì juàn (3 xià rén jiāokè biāo bǎn )