软件测试技术:Part I The Big Picture

上传人:M****1 文档编号:569921472 上传时间:2024-07-31 格式:PPT 页数:53 大小:1.20MB
返回 下载 相关 举报
软件测试技术:Part I The Big Picture_第1页
第1页 / 共53页
软件测试技术:Part I The Big Picture_第2页
第2页 / 共53页
软件测试技术:Part I The Big Picture_第3页
第3页 / 共53页
软件测试技术:Part I The Big Picture_第4页
第4页 / 共53页
软件测试技术:Part I The Big Picture_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《软件测试技术:Part I The Big Picture》由会员分享,可在线阅读,更多相关《软件测试技术:Part I The Big Picture(53页珍藏版)》请在金锄头文库上搜索。

1、SE-307 Software Testing 2先修课程先修课程 &后续课程后续课程n先修课程n离散数学和图论(Discrete mathematics and Graph Theory)n高级程序设计语言 (Advanced Programming Language )n软件工程导论(Introduction to Software Engineering)n数据库系统(Database Systems)n编译原理(Principles of Compiler Construction) n后续课程n软件质量保证(Software Quality Assurance)n软件过程改进(Sof

2、tware Process Improvement) 3nTextbook:nR. Patton. Software Testing, 2nd Ed. Sams, 2005, ISBN 0-672-32798-8影印版:软件测试(第2版),经典原版书库,北京:机械工业出版社,2006,ISBN 7-111-17770-3nReferences:nP. Jorgensen. Software Testing: A Craftsmans Approach, 2nd Ed. CRC Press, 2002, ISBN 0-849-30809-7 nA. Mathur. Foundations of

3、Software Testing. Addison-Wesley Professional, 2008, ISBN 8-131-71660-0 4n成绩计算n综合成绩=平时考勤+大作业成绩+期末考试 20% 40% 40%n教学网站http:/ I. The Big Picture (6 hours) nPart II. Testing Fundamentals (24+3 hours) nPart III. Applying Your Testing Skills (3 hours) nPart IV. Supplementing Your Testing (3 hours) nPart V

4、. Working with Test Documentation (3+3 hours) nPart VI. The Future (2 hours)6ObjectivesnUnderstand the basic concepts of software testing;nPerform effective and efficient structural and functional testing of your software; nIntegrate and test the various units and components of your software system;

5、 nSelect the appropriate tests to regression test your software after changes have been made;nthe software testing effort. Plan, track and control Part I: The Big PictureSoftware Testing 8ContentsnDefinition of software testingnSoftware Testing FrameworknSoftware Testing Background nThe Software Dev

6、elopment ProcessnThe Realities of Software Testing The definition of software testing The use of manual or automatic means to run or determination of a systematic process. Its purpose is to test whether it needs to meet the requirements or expected results to identify the difference between the actu

7、al results. -IEEE1983910Software Testing Framework Basic test theory and technologyTest Standards and Criteria Test environment and toolsTest ManagementPart 1 Section 1 Software Testing Background12ContentsnInfamous Software Error Case StudiesnWhat Is a Bug?nWhy Do Bugs Occur?nThe Cost of BugsnWhat

8、Exactly Does a Software Tester Do?nWhat Makes a Good Software Tester?13Infamous Software Error Case StudiesnDisneys Lion King, 1994-1995 nIntel Pentium Floating-Point Division Bug, 1994(4195835 / 3145727) * 3145727 4195835nNASA Mars Polar Lander, 1999 nPatriot Missile Defense System, 1991 nThe Y2K (

9、Year 2000) Bug, circa 1974 nDangerous Viewing Ahead, 2004 14What Is a Bug? nTerms for Software Failuresn Defect(缺点), Fault(故障), Failure(失败), Variance(偏差), Incident(事件), Anomaly(异常),Problem(问题), Inconsistency(矛盾), Error(错误), Feature(特殊), Bug(缺陷),nIts important as a software tester to understand the p

10、ersonality behind the product development team youre working with. nAll software problems will be called bugs.15Software Bug : A Formal Definition nA software bug occurs when one or more of the following five rules is true:nThe software doesnt do something that the product specification says it shou

11、ld do.nThe software does something that the product specification says it shouldnt do.nThe software does something that the product specification doesnt mention.nThe software doesnt do something that the product specification doesnt mention but should.nThe software is difficult to understand, hard t

12、o use, slow, or in the software testers eyes will be viewed by the end user as just plain not right.16Why Do Bugs Occur?nThe main cause can be traced to the specification. nThe next largest source of bugs is the design. nCoding errors can be traced to the softwares complexity, poor documentation (es

13、pecially in code thats being updated or revised), schedule pressure, or just plain dumb mistakes. nThe other category is the catch-all for whats left. 17The Cost of Bugs nThe costs are logarithmic that is, they increase tenfold as time increases. nA bug found and fixed during the early stages when t

14、he specification is being written might cost next to nothing, or $1 in our example. nThe same bug, if not found until the software is coded and tested, might cost $10 to $100. nIf a customer finds it, the cost could easily be thousands or even millions of dollars. 18What Exactly Does a Software Test

15、er Do? nThe goal of a software tester is to find bugs. nThe goal of a software tester is to find bugs and find them as early as possible. nThe goal of a software tester is to find bugs, find them as early as possible, and make sure they get fixed.Note:Its important to note that fixing a bug does not

16、 necessarily imply correcting the software. 19What Makes a Good Software Tester? nHeres a list of traits that most software testers should have:nThey are explorers. nThey are troubleshooters. nThey are relentless. nThey are creative. nThey are perfectionists. nThey exercise good judgment. nThey are

17、tactful and diplomatic. nThey are persuasive. 20Summary nHighlights of this chapter nHow software bugs impact our livesnWhat bugs are and why they occurnWho software testers are and what they doPart 1 Section 2 The Software Development Process 22ContentsnProduct ComponentsnSoftware Project StaffnSof

18、tware Development Lifecycle Models23Product Components nWhat Effort Goes Into a Software Product?24Product ComponentsnWhat Parts Make Up a Software Product?25Software Project Staff nProject managers, program managers, or producers drive the project from beginning to end. nArchitects or system engine

19、ers are the technical experts on the product team. nProgrammers, developers, or coders design and write software and fix the bugs that are found. nTesters or QA (Quality Assurance) Staff are responsible for finding and reporting problems in the software product. 26Software Project StaffnTechnical wr

20、iters, user assistance, user education, manual writers, or illustrators create the paper and online documentation that comes with a software product. nConfiguration management or builder handles the process of pulling together all the software written by the programmers and all the documentation cre

21、ated by the writers and putting it together into a single package. 27Software Development Lifecycle Models nThe process used to create a software product from its initial conception to its public release is known as the software development lifecycle model. nThere are four frequently used models, wi

22、th most others just variations of these:nBig-BangnCode-and-FixnWaterfallnSpiralnRapid Application Development28Big-BangnThe beauty of the big-bang method is that its simple. nIn most cases, there is little to no formal testing done under the big-bang model.nYour job is really just to report what you

23、 find so the customers can be told about the problems. 29Code-and-Fix Model nDefault model. nAs a tester on a code-and-fix project, you need to be aware that you, along with the programmers, will be in a constant state of cycling. nYou will most likely encounter the code-and-fix model during your wo

24、rk as a software tester. 30Waterfall Model nFrom a testing perspective, nadvantage: nThey know exactly what theyre testing, and theres no question about whether something is a feature or a bug. na large disadvantage: nBecause testing occurs only at the end, a fundamental problem could creep in early

25、 on and not be detected until days before the scheduled product release. 31Spiral Model nIf youre a tester, youll like this model. Youll get a chance to influence the product early by being involved in the preliminary design phases. 32Rapid Application DevelopmentnRAD or V模型33改进的改进的V模型模型编码编码系统功能设计系统

26、功能设计系统系统/软件设计软件设计细节设计细节设计接受测试接受测试系统测试系统测试特征测试特征测试单元测试单元测试确认确认 需求需求客户、用户客户、用户PM技术支持技术支持校验校验 设计设计设计分析设计分析校验测试校验测试34SummarynThe highlights of this chapter nWhat major components go into a software productnWhat different people and skills contribute to a software productnHow software progresses from an

27、idea to a final productnTheres no definitive approach. Work the best you can in the development model youre in, applying the testing skills you learn in the rest of this book to create the best software possible. farucalgary.caPart 1 Section 3 The Realities of Software Testing 36ContentsnTesting Axi

28、omsnSoftware Testing Terms and Definitions37Testing Axioms nIts Impossible to Test a Program CompletelynThe number of possible inputs is very large.nThe number of possible outputs is very large.nThe number of paths through the software is very large.nThe software specification is subjective. You mig

29、ht say that a bug is in the eye of the beholder.nExample: the Microsoft Windows Calculator. 381+1=1+99999999999999999999999999999999=you can move on to 2+0=, 2+1=, 2+2=, and so on. Eventually youll get to99999999999999999999999999999999+99999999999999999999999999999999=Next you should try all the de

30、cimal values: 1.0+0.1, 1.0+0.2, and so on.The point of this example is to demonstrate that its impossible to completely test a program, even software as simple as a calculator. 39Testing Axioms (continued)nSoftware Testing Is a Risk-Based Exercise nYou cant test everything, and if you dont, you will

31、 likely miss bugs. The product has to be released, so you will need to stop testing, but if you stop too soon, there will still be areas untested. What do you do?nOne key concept that software testers need to learn is how to reduce the huge domain of possible tests into a manageable set, and how to

32、make wise risk-based decisions on whats important to test and whats not.nThe goal is to hit that optimal amount of testing so that you dont test too much or too little. 40Testing Axioms (continued)nTesting Cant Show That Bugs Dont Exist nSoftware testing works exactly as the exterminator does. It ca

33、n show that bugs exist, but it cant show that bugs dont exist. You can perform your tests, find and report bugs, but at no point can you guarantee that there are no longer any bugs to find. 41Testing Axioms (continued)nThe More Bugs You Find, the More Bugs There Are nProgrammers have bad days. nProg

34、rammers often make the same mistake. nSome bugs are really just the tip of the iceberg. 42Testing Axioms (continued)nThe Pesticide Paradox nIn 1990, Boris Beizer, in his book Software Testing Techniques, Second Edition, coined the term pesticide paradox to describe the phenomenon that the more you t

35、est software, the more immune it becomes to your tests. nTo overcome the pesticide paradox, software testers must continually write new and different tests to exercise different parts of the program and find more bugs. 43Testing Axioms (continued)nNot All the Bugs You Find Will Be FixednTheres not e

36、nough time. nIts really not a bug. nIts too risky to fix. nIts just not worth it. 44Testing Axioms (continued)nWhen a Bugs a Bug Is Difficult to Say nIf theres a problem in the software but no one ever discovers it not programmers, not testers, and not even a single customer is it a bug? nIts not un

37、common for two people to have completely different opinions on the quality of a software product. One may say that the program is incredibly buggy and the other may say that its perfect. How can both be right? The answer is that one has used the product in a way that reveals lots of bugs. The other

38、hasnt. 45Testing Axioms (continued)nProduct Specifications Are Never Final nThe software industry is moving so fast that last years cutting-edge products are obsolete this year.n At the same time, software is getting larger and gaining more features and complexity, resulting in longer and longer dev

39、elopment schedules. nThese two opposing forces result in conflict, and the result is a constantly changing product specification. nAs a software tester, you must assume that the spec will change. 46Testing Axioms (continued)nSoftware Testers Arent the Most Popular Members of a Project Team, Here are

40、 a couple of tips to keep the peace with your fellow teammates nFind bugs early. nTemper your enthusiasm. nDont just report bad news. 47Testing Axioms (continued)nSoftware Testing Is a Disciplined Technical Profession nThe software industry has progressed to the point where professional software tes

41、ters are mandatory. Its now too costly to build bad software. nMuch more software is now developed with a disciplined approach that has software testers as core, vital members of their staff. 48Software Testing Terms and DefinitionsnPrecision(精确)and Accuracy(准确)nWhether the software you test needs t

42、o be precise or accurate depends much on what the product is and ultimately what the development team is aiming at (excuse the pun). 49Software Testing Terms and Definitions (continued)nVerification(确认) and Validation(验证) nVerification is the process confirming that something software meets its spec

43、ification. nValidation is the process confirming that it meets the users requirements. nThese may sound very similar, but an explanation of the Hubble space telescope problems will help show the difference. 50Software Testing Terms and Definitions (continued)nQuality and Reliability nMerriam-Webster

44、s Collegiate Dictionary defines quality as a degree of excellence or superiority in kind. If a software product is of high quality, it will meet the customers needs. nReliability is just one aspect of quality. nA software users idea of quality may include the breadth of features, the ability of the

45、product to run on his old PC, the software companys phone support availability, and, often, the price of the product. Reliability, or how often the product crashes or trashes his data, may be important, but not always.51Software Testing Terms and Definitions (continued)nTesting and Quality Assurance

46、 (QA) nThe goal of a software tester is to find bugs, find them as early as possible, and make sure they get fixed.nA software quality assurance persons main responsibility is to create and enforce standards and methods to improve the development process and to prevent bugs from ever occurring.52Sum

47、mary nThe highlights of this chapter nWhy software can never be perfectnWhy software testing isnt just a technical problemnThe terms commonly used by software testersnHave a head start when you begin testing for the first time. nKnow what your role should be, or at least know what questions to ask to find your place in the big picture. 53

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号