軟件測試技術:Part I The Big Picture_第1頁
軟件測試技術:Part I The Big Picture_第2頁
軟件測試技術:Part I The Big Picture_第3頁
軟件測試技術:Part I The Big Picture_第4頁
軟件測試技術:Part I The Big Picture_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SE-307 Software Testing 2先修課程 &后續(xù)課程先修課程離散數學和圖論(Discrete mathematics and Graph Theory)高級程序設計語言 (Advanced Programming Language )軟件工程導論(Introduction to Software Engineering)數據庫系統(tǒng)(Database Systems)編譯原理(Principles of Compiler Construction) 后續(xù)課程軟件質量保證(Software Quality Assurance)軟件過程改進(Software Process Imp

2、rovement) 3Textbook:R. Patton. Software Testing, 2nd Ed. Sams, 2005, ISBN 0-672-32798-8影印版:軟件測試(第2版),經典原版書庫,北京:機械工業(yè)出版社,2006,ISBN 7-111-17770-3References:P. Jorgensen. Software Testing: A Craftsmans Approach, 2nd Ed. CRC Press, 2002, ISBN 0-849-30809-7 A. Mathur. Foundations of Software Testing. Addi

3、son-Wesley Professional, 2008, ISBN 8-131-71660-0 4成績計算綜合成績=平時考勤+大作業(yè)成績+期末考試 20% 40% 40%教學網站/courses/sqa/用戶名:sser,密碼:ToBeNo.15ContentsPart I. The Big Picture (6 hours) Part II. Testing Fundamentals (24+3 hours) Part III. Applying Your Testing Skills (3 hours) Part IV. Supplementing Your Testing (3 ho

4、urs) Part V. Working with Test Documentation (3+3 hours) Part VI. The Future (2 hours)6ObjectivesUnderstand the basic concepts of software testing;Perform effective and efficient structural and functional testing of your software; Integrate and test the various units and components of your software

5、system; Select the appropriate tests to regression test your software after changes have been made;the software testing effort. Plan, track and control Part I: The Big PictureSoftware Testing 8ContentsDefinition of software testingSoftware Testing FrameworkSoftware Testing Background The Software De

6、velopment ProcessThe 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 Background12ContentsInfamous Software Error Case StudiesWhat Is a Bug?Why Do Bugs Occur?The Cost of BugsWhat Exact

8、ly Does a Software Tester Do?What Makes a Good Software Tester?13Infamous Software Error Case StudiesDisneys Lion King, 1994-1995 Intel Pentium Floating-Point Division Bug, 1994(4195835 / 3145727) * 3145727 4195835NASA Mars Polar Lander, 1999 Patriot Missile Defense System, 1991 The Y2K (Year 2000)

9、Bug, circa 1974 Dangerous Viewing Ahead, 2004 14What Is a Bug? Terms for Software Failures Defect(缺點), Fault(故障), Failure(失?。? Variance(偏差), Incident(事件), Anomaly(異常),Problem(問題), Inconsistency(矛盾), Error(錯誤), Feature(特殊), Bug(缺陷),Its important as a software tester to understand the personality behi

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

11、 does something that the product specification says it shouldnt do.The software does something that the product specification doesnt mention.The software doesnt do something that the product specification doesnt mention but should.The software is difficult to understand, hard to use, slow, or in the

12、 software testers eyes will be viewed by the end user as just plain not right.16Why Do Bugs Occur?The main cause can be traced to the specification. The next largest source of bugs is the design. Coding errors can be traced to the softwares complexity, poor documentation (especially in code thats be

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

14、itten might cost next to nothing, or $1 in our example. The same bug, if not found until the software is coded and tested, might cost $10 to $100. If a customer finds it, the cost could easily be thousands or even millions of dollars. 18What Exactly Does a Software Tester Do? The goal of a software

15、tester is to find bugs. The goal of a software tester is to find bugs and find them as early as possible. The 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 necessarily imply correcting the

16、 software. 19What Makes a Good Software Tester? Heres a list of traits that most software testers should have:They are explorers. They are troubleshooters. They are relentless. They are creative. They are perfectionists. They exercise good judgment. They are tactful and diplomatic. They are persuasi

17、ve. 20Summary Highlights of this chapter How software bugs impact our livesWhat bugs are and why they occurWho software testers are and what they doPart 1 Section 2 The Software Development Process 22ContentsProduct ComponentsSoftware Project StaffSoftware Development Lifecycle Models23Product Compo

18、nents What Effort Goes Into a Software Product?24Product ComponentsWhat Parts Make Up a Software Product?25Software Project Staff Project managers, program managers, or producers drive the project from beginning to end. Architects or system engineers are the technical experts on the product team. Pr

19、ogrammers, developers, or coders design and write software and fix the bugs that are found. Testers or QA (Quality Assurance) Staff are responsible for finding and reporting problems in the software product. 26Software Project StaffTechnical writers, user assistance, user education, manual writers,

20、or illustrators create the paper and online documentation that comes with a software product. Configuration management or builder handles the process of pulling together all the software written by the programmers and all the documentation created by the writers and putting it together into a single

21、 package. 27Software Development Lifecycle Models The process used to create a software product from its initial conception to its public release is known as the software development lifecycle model. There are four frequently used models, with most others just variations of these:Big-BangCode-and-Fi

22、xWaterfallSpiralRapid Application Development28Big-BangThe beauty of the big-bang method is that its simple. In most cases, there is little to no formal testing done under the big-bang model.Your job is really just to report what you find so the customers can be told about the problems. 29Code-and-F

23、ix Model Default model. As 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. You will most likely encounter the code-and-fix model during your work as a software tester. 30Waterfall Model From a testing perspective,

24、 advantage: They know exactly what theyre testing, and theres no question about whether something is a feature or a bug. a large disadvantage: Because testing occurs only at the end, a fundamental problem could creep in early on and not be detected until days before the scheduled product release. 31

25、Spiral Model If 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 DevelopmentRAD or V模型33改進的V模型編碼系統(tǒng)功能設計系統(tǒng)/軟件設計細節(jié)設計接受測試系統(tǒng)測試特征測試單元測試確認 需求客戶、用戶PM技術支持校驗 設計設計分析校驗測試34SummaryThe highlights of thi

26、s chapter What major components go into a software productWhat different people and skills contribute to a software productHow software progresses from an idea to a final productTheres no definitive approach. Work the best you can in the development model youre in, applying the testing skills you le

27、arn in the rest of this book to create the best software possible. farucalgary.caPart 1 Section 3 The Realities of Software Testing 36ContentsTesting AxiomsSoftware Testing Terms and Definitions37Testing Axioms Its Impossible to Test a Program CompletelyThe number of possible inputs is very large.Th

28、e number of possible outputs is very large.The number of paths through the software is very large.The software specification is subjective. You might say that a bug is in the eye of the beholder.Example: the Microsoft Windows Calculator. 381+1=1+99999999999999999999999999999999=you can move on to 2+

29、0=, 2+1=, 2+2=, and so on. Eventually youll get to99999999999999999999999999999999+99999999999999999999999999999999=Next you should try all the decimal 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 s

30、imple as a calculator. 39Testing Axioms (continued)Software Testing Is a Risk-Based Exercise You cant test everything, and if you dont, you will 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 y

31、ou do?One 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 make wise risk-based decisions on whats important to test and whats not.The goal is to hit that optimal amount of testing so that you dont test too much or t

32、oo little. 40Testing Axioms (continued)Testing Cant Show That Bugs Dont Exist Software testing works exactly as the exterminator does. It can 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 ar

33、e no longer any bugs to find. 41Testing Axioms (continued)The More Bugs You Find, the More Bugs There Are Programmers have bad days. Programmers often make the same mistake. Some bugs are really just the tip of the iceberg. 42Testing Axioms (continued)The Pesticide Paradox In 1990, Boris Beizer, in

34、his book Software Testing Techniques, Second Edition, coined the term pesticide paradox to describe the phenomenon that the more you test software, the more immune it becomes to your tests. To overcome the pesticide paradox, software testers must continually write new and different tests to exercise

35、 different parts of the program and find more bugs. 43Testing Axioms (continued)Not All the Bugs You Find Will Be FixedTheres not enough time. Its really not a bug. Its too risky to fix. Its just not worth it. 44Testing Axioms (continued)When a Bugs a Bug Is Difficult to Say If theres a problem in t

36、he software but no one ever discovers it not programmers, not testers, and not even a single customer is it a bug? Its not uncommon 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 i

37、ts 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 hasnt. 45Testing Axioms (continued)Product Specifications Are Never Final The software industry is moving so fast that last years cutting-edge products are obsolete this year.

38、 At the same time, software is getting larger and gaining more features and complexity, resulting in longer and longer development schedules. These two opposing forces result in conflict, and the result is a constantly changing product specification. As a software tester, you must assume that the sp

39、ec will change. 46Testing Axioms (continued)Software Testers Arent the Most Popular Members of a Project Team, Here are a couple of tips to keep the peace with your fellow teammates Find bugs early. Temper your enthusiasm. Dont just report bad news. 47Testing Axioms (continued)Software Testing Is a

40、Disciplined Technical Profession The software industry has progressed to the point where professional software testers are mandatory. Its now too costly to build bad software. Much more software is now developed with a disciplined approach that has software testers as core, vital members of their st

41、aff. 48Software Testing Terms and DefinitionsPrecision(精確)and Accuracy(準確)Whether the software you test needs to 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)Verification(確認) and Validation(驗證) Verification is the process confirming that something software meets its specification. Validation is the process confirming that it meets the users requirements. These may sound very similar, but an explanation of

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論