软件测试

当前位置:首页 > 计算机网络 > 软件工程/开发项目管理 > 软件测试

出版社:机械工业出版社华章公司
出版日期:2012-10-1
ISBN:9787111388630
页数:190页

作者简介

这本软件测试教材基于爱尔兰国立大学梅努斯和中国浙江大学的一系列课程讲稿编写而成。全书一开始简单回顾了软件产业的发展历程,进而引出接下来要讲述的本书主要内容——软件测试的基础知识、原理以及相关技术。然后,在详细阐述静态和动态软件测试原理之前给出了一些关键定义。接着,针对过程式编程和面向对象编程(使用Java语言)提供了两个完整的单元测试实例。随后,本书讨论了系统测试和软件测试自动化的方法学。在这之后,本书采用常用的软件过程来解释软件测试在软件开发生命周期中的作用。最后,作者讨论了多个测试方面的高级主题,这些开放性问题需要深入的思考和研究,更进一步的资料在研究生课程中提供。
本书主要是面向软件测试的本科课程来设计相关内容,但书中讲述的理论和技术辅以许多实际的例子来说明,这些实用的内容对于软件专业人员也很有吸引力,因为软件测试是现代软件工程项目管理的一个非常关键的要素,其重要性日渐显现,正在引起软件产业乃至IT产业的充分重视……
本书特色
凝练作者多年的行业经验和教学经验,以丰富的实例,系统阐释软件测试的基本理论和技术。
附录中给出大量与实际应用相关的练习,便于读者理解和巩固所学知识。
涵盖一些高级主题,如测试技术选择、用浮点数测试、用复杂数据结构测试、GUI组件的单元测试、嵌入式软件测试等,需要读者在接下来的学习和工作实践中不断深入研究和思考。

书籍目录

preface
前言
1 introduction
1.1 the software industry
1.2 software testing and quality
1.3 errors.faults and failures
1.3.1 software faults
1.3.2 software failures
1.3.3 need for testing
1.4 the role of sdecifications
1.5 overview of testing
1.5.1 testing in the development process
1.5.2 test automation
1.6 the theory of testing
1.6.1 exhaustive testing example
1.6.2 implications
1.7 when to finish testing
1.8 notes on book structure
2 principles of software testing
.2.1 dynamic and static verification
2.1.1 static verification
2.1.2 dynamic verification
2.2 black-box and white.box testing
2.2.1 errors of“omission”and“commission”
2.3 test approaches
2.3.1 black-box testing
2.3.2 white-box testing
2.3.3 fault insertion
2.4 test activities
2.4.1 analysis outputs
2.4.2 test cases
2.4.3 test data
2.4.4 test code for test proceduresl
2.5 analysis of software specifications
2.5.1 parameters
2.5.2 parameter ranges
2.5.3 equivalence partitions
2.5.4 boundary values
2.5.5 combinations of values
2.5.6 sequences of values
2.6 analysis of software components
2.6.1 control flow graphs
2.6.2 decisions and conditions
2.6.3 paths
2.6.4 data-flow testing
2.6.5 ranking
2.7 analysis of targets for fault insertion
2.7.1 offutt’s 5 sufficient mutations
2.8 test artefacts
3 unit testing
3.1 introduction
3.2 usage
3.3 black-box techniques
3.3.1 equivalence partitioning(ep)
3.3.2 boundary value analysis fbval
3.3.3 testing combinations of inputs(ci)
3.3.4 testing sequences of inputs(si)or state
3.3.5 random input data fridl
3.3.6 error guessing fegl
3.4 white.box techniques
3.4.1 statement coverage fscl
3.4.2 branch coverage fbcl
3.4.3 condition coverage fccl
3.4.4 decision condition coverage fdccl
3.4.5 multiple condition coverage(mcc)
3.4.6 path coverage fpci
3.4.7 d—u pair coverage(dup)
3.5 fault insertion
3.5.1 strong mutation testing(smt)
4 unit testing examples
4.1 example one:seatsavailable()
4.1.1 description
4.1.2 specification
4.1.3 source code
4.1.4 equivalence partitioning
4.1.5 boundary value analysis
4.1.6 combinational testing
4.1.7 tests
4.1.8 using random test data
4.1.9 statement coverage
4.1.10 branch coverage
4.1.11 condition coverage
4.1.12 decision/condition coverage
4.1.13 multiple condition coverage
4.1.14 path coverage
4.1.15 d-u pair coverage
4.1.16 strong mutation testing
4.2 example two:premiumfl
4.2.1 description
4.2.2 specification
4.2.3 source code
4.2.4 equivalence partitioning
4.2.5 boundary value analysis
4.2.6 combinational testing
4.2.7 statement coverage
4.2.8 branch testing
4.2.9 condition coverage
4.2.10 multiple condition coverage
4.2.11 path testing
4.2.12 d-u pair testing
4.2.13 strong mutation testing.
5 static v_erification
5.1 design reviews
5.1.1 informal、valk-through
5.1.2 f0rmal design review
5.2 static code analysis
5.2.1 walk-throughs
5.2.2 code inspections
6 testing object-oriented software
6.1 characteristics of object-oriented software
6.2 effects of oo on testing
6.3 object oriented testing models
6.3.1 conventional models
6.3.2 combinational models
6.3.3 state machine models
6.3.4 specification&design models
6.3.5 built-in-test
6.4 example
6.4.1 class cartax
6.4.2 black-box testing in class context
6.4.3 white.box testing in class context
6.4.4 combinational testing
6.4.5 state-machine testing
6.4.6 specification/design testing
6.4.7 built-in testing
7 integration and system testing
7.1 integration testing
7.1.1 drivers and stubs
7.1.2 top-down integration
7.1.3 bottom-up integration
7.1.4 sandwich integration
7.1.5 end-to-end user functionality
7.1.6 test cases
7.1.7 conclusion
7.2 system testing
7.2.1 system test categories
7.2.2 system level functional testing
7.2.3 test cases
7.2.4 gui example
7.3 field testing and acceptance testing
8 software test automation
8.1 coverage measurement
8.1.1 lazy evaluation
8.2 junit
8.2.1 junit example
8.2.2 test documentation
8.3 junit testing in an ide
8.4 regression/inheritance testing with junit
8.5 writing your own test runner
8.6 mutation testing
8.7 automated system testing
9 testing in the software process
9.1 test planning.
9.2 software development life cycle
9.3 the、vaterfau model
9.4 the v-model
9.5 incremental and agile development
9.5.1 incremental development
9.5.2 extreme programming
9.5.3 scrum
9.5.4 synch and stabilize
9.5.5 process.related quality standards and models
9.6 repair.based testing
9.6.1 specific repair test
9.6.2 generic repair test
9.6.3 abstracted repair test
9.6.4 example
9.6.5 repair-based test suites
10 advanced testing issues
10.1 philosophy of testing
10.2 test technique selection
10.3 inserting data faults
10.4 design for testability(dft)
10.5 testing with floating point numbers
10.6 unit testing of gui components
10.7 testing with complex data structures
10.8 automated random testing
10.9 automated statement and branch testing
10.10 overlapping and discontinuous partitions
10.11 handling relative values
10.11.1 classie triangle problem
10.12 paivwise testing
10.13 testing boundary crossings(bx)
10.14 varying input parameters
10.15 extended combinational testing
10.15.1 no“don’t-caxe”s
10.15.2 tlest“don’t-care”s individually
10.16 including testing in the build procedure
10.17 testing concurrent and parallel software
10.17.1 unit testing
10.17.2system testing
10.17.3static analysis
10.17.4tools
10.18 testing embedded softwaxe
10.19 testing network protocol processing
10.19.1text.based protocols
10.19.2binary protocols
10.19.3protocol stacks and dft
10.20 research directions
appendices
a terminology
b exercises
b.1 junit and eclipse
b.2 unit test-exercise 1
b.3 unit test-exercise 2
b.4 unit test-exercise 3
b.5 unit test-exercise 4
b.6 unit test-exercise 5
b.7 unit test-exercise 6
b.8 unit test-exercise 7
b.9 unit test-exercise 8
b.10 unit test-exercise 9
b.11 exercise 10-test projects
select bibliography

编辑推荐

《软件测试:原理与实践(英文版)》主要是面向软件测试的本科课程来设计相关内容,但书中讲述的理论和技术辅以许多实际的例子来说明,这些实用的内容对于软件专业人员也很有吸引力。因为软件测试是现代软件工程项目管理的一个非常关键的要素,其重要性日渐显现,正在引起软件产业乃至IT产业的充分重视……

内容概要

作者:(爱尔兰)布朗(Stephen Brown) (爱尔兰)Joe Timoney (爱尔兰)Tom Lysaght 叶德仕 (Deshi Ye)

章节摘录

版权页:   插图:   7.1.7 Conclusion Overall,when it comes to selecting an integration testing strategy for a softwareapplication a number of things should be considered.These include the number of stubsand drivers to be produced,the location of the critical modules in the system,whichlayers will be available for testing,and what order the layers are to be implementedin.Integration testing is difficult as it does require synchronization between testers anddevelopers in the production,combination and testing of modules.Also,faults foundduring integration testing can be harder to resolve,and finally,if design features need tobe changed they may result in conflicts with the customer. 7.2 System Testing This means testing of the system as a whole and is almost invariably done using Blackbox tests.System testing can be broken down into a number of categories that mayor may not be carried out on the product,as their necessity depends on the type ofapplication it is.These are listed and explained below.It will be noticed that at timessome of these testing activities overlap in terms of what they measure.This reflects thatnot all tests may be applicable to the one product. 7.2.1 System Test Categories Conformance Testing Used to verify that the system conforms to a set of publishedstandards.Many standards will have a published suite of conformance tests,orhave a selected authority to run these tests.This is particularly important forcommunications software,as software system must correctly inter-operate withother implementations. Documentation Testing Used to verify that the documentation(in printed form,online,help,or prompts)is sufficient for the software to be installed and operatedefficiently.Typically a full installation is performed,and then the different systemfunctions are executed,exactly as documented.Responses are checked against thedocumented responses.Ergonomic Testing Used to verify the ease-of-use of the system.This can be eitherautomated(verifying font sizes,information placement on the screen,use of colours,or the speed of progress by users of different experience levels),or manual(basedon feedback forms completed by users).

图书封面


 软件测试下载



发布书评

 
 


精彩短评 (总计4条)

  •     终于读完了。读之前希望能够学到可以用到工作中的有效测试方法,读过才发现这是一本很学究儿的教材书。找到一些与自己工作有交集的部分,但是写的过于简略,手段也过于简单。
  •     貌似是浙大教授和爱尔兰国立大学的教授合编的教程
  •     和中文版对照理解更准确,很不错的一本书,正版。书送来时很平整,赞
  •     英文版,属于普及型书籍。
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024