????λ?????????? >> ??????????
???Android??????????4??????
???????????? ???????[ 2015/7/15 10:45:09 ] ???????????????
????Gradle?????
?????????????????????????????????Findbugs???????????(??Gradle???????):
????task findbugs(type: FindBugs) {
????ignoreFailures = false
????effort = "max"
????reportLevel = "high"
????excludeFilter = new File("${project.rootDir}/config/quality/findbugs/findbugs-filter.xml")
????classes = files("${project.rootDir}/app/build/classes")
????source 'src'
????include '**/*.java'
????exclude '**/gen/**'
????reports {
????xml.enabled = false
????html.enabled = true
????xml {
????destination "$project.buildDir/reports/findbugs/findbugs.xml"
????}
????html {
????destination "$project.buildDir/reports/findbugs/findbugs.html"
????}
????}
????classpath = files()
????}
?????????????????Checkstyle????????Findbugs???HTML??XML?????????????????HTML????????????????????п??????????????????????λ????????????????????????λ?á?????????????????????Findbgus???????(??????????)????? FindBugs?????????CheckStyle???????????????????“FindBugs”????
????Findbugs????ü???
????????Android??????Java??????в???????????????FindBugs??????(????????)?????????????????????????????????????????????R????????Manifest????????????????(???)FindBugs????????????????????????????????????????????
????PMD
???????
????????????и???????????PMD??????????????????(????)????????????????????????????????:
????Pretty Much Done
????Project Meets Deadline
??????????PMD??????????е?????Findbugs????????????(PMD)??????????????????????(??????PMD???ú??????)?? (PMD??Findbugs)???????????????????????????????????Щ???????bug?????????????Findbugs??PMD????e??????Findbugs??PMD???????????(????)??????鷽?????????????PMD?????????bug????Findbugs???鯔??????????????
????Gradle?????
?????????????????????????????????PMD???????????(??Gradle???????):
????task pmd(type: Pmd) {
????ruleSetFiles = files("${project.rootDir}/config/quality/pmd/pmd-ruleset.xml")
????ignoreFailures = false
????ruleSets = []
????source 'src'
????include '**/*.java'
????exclude '**/gen/**'
????reports {
????xml.enabled = false
????html.enabled = true
????xml {
????destination "$project.buildDir/reports/pmd/pmd.xml"
????}
????html {
????destination "$project.buildDir/reports/pmd/pmd.html"
????}
????}
????}
????PMD?????????????Findbugs?????PMD???HTML??XML????????????????????????HTML?????????????????????????????ü??????????????????????(check this file)?????????????????????????Щ??????ü????????????????PMD???FindBugs??????????????磺?????????”if statement”??”if statement”????????????????????????????Щ??????????????????????????(??????????)?????????????????????????????????????”if statement”????????????????????????????PMD????????(???)CheckStyle???????????????????“PMD”????
????PMD????ü???
?????????????????????????ü??????????????д???(???????)??
????ruleSets = []
???????????????????Щ????????????ü???????????????ü?????????????????С??????????????????????????Щ???????ü??У????????????С?
????Android Lint
???????
????“Android lint?????????????????????????????鰲???????????????????????????????????????????????????????????????”
??????????????????Android Lint??????????????????????Android?????????????????????????????????????????????
????Gradle?????
????android {
????lintOptions {
????abortOnError true
????lintConfig file("${project.rootDir}/config/quality/lint/lint.xml")
????// if true?? generate an HTML report (with issue explanations?? sourcecode?? etc)
????htmlReport true
????// optional path to report (default will be lint-results.html in the builddir)
????htmlOutput file("$project.buildDir/reports/lint/lint.html")
????}
??????????????????????????????????Щ?????????ú????á????????????μ?ADT?汾??????????????á???????????е?lint?????????????Щ????ADT 21????????????”ignore”??”severity”:
????IconDensities??????????????????????????????е?(?????)????????ldpi????
????IconDipSize:????????????????????dip???????????(???仰?????????????????density?????????????????????????????????С)??
????????????????????lint???????????????????й??????Android Lint?????????CheckStyle???????????????????”lint”????
????Android Lint????ü???
????????Android Lint??????????????????μ?Android Lint????????????ù?????????Щ????“ignore”??“severity”?????á??????????????°汾ADT?μ??????ù????????????飬??????????
??????????
????????????????е????????????????????????????????????????????????????????á????????????gradle?????????????????統(tǒng)??????????????????????????????????С??????Gradle?У?????ù??????“check”???????????????????????
????check.dependsOn ‘checkstyle’?? ‘findbugs’?? ‘pmd’?? ‘lint’??????????“check” ????????Checkstyle?? Findbugs?? PMD?? and Android Lint????????С????????/ commiting / pushing / ask merge request ??????????????????????????
??????????????Gradle??????????????????????????????????????е??????????????Gradle??????????????????з??????Щ?????????????????“config/quality” ????????
???????
??????????????У?????Gradle??Android????????????鶴??????????????????????????????????????????????????????Щ????????????????????Jenkins/Hudson???????????????????????????飬????????????????????????CLI????????????? Jenkins/Hudson????У???????У?
????gradle check?????????????·???????????????κ??й?Android??????
???????????????????????漰???????????????????SPASVOС??(021-61079698-8054)?????????????????????????
??????
???????????????????Щ???????????????????????????2017?????????????????????AutoRunner???????????????2016??1??8??V4.0?汾?????????????????????TestDirector?淶??????????WinRunner????????????????????WinRunner???????????????Winrunner TSL????????????????WinRunner?????????????????????????WinRunner?????????????????WinRunner???????????????????????????????????????????VectorCAST-?????????????????????????????????е??????????????????????????????????????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11????????
?????????App Bug???????????????????????Jmeter?????????QC??????APP????????????????app?????е????????jenkins+testng+ant+webdriver??????????????JMeter????HTTP???????Selenium 2.0 WebDriver ??????