Chenobyl

Definition

Email this page to a friend   

Email to a friend

Software Testing

(Alias: acceptance testing, system testing, integration testing, unit testing, module testing )

Testing is the process of executing a program with the intent of finding errors.
             - Glenford Myers, The Art of Software Testing

Software testing is best defined in terms of testing objectives. Any definition should be suitable for inclusion in the introduction to your Test Plan. Testing objectives need to be stated in a form that testers can understand and achieve. Testing objectives also need to speak to the attitudes of the tester. Fundamentally testers need to expect to find errors. Glenford Myers' definition provides one very important objective but there are several others.

A healthy attitude towards testing is an aggregate of the following perspectives listed in increasing order of maturity. Each attitude is translated into a hard objective you can include in your test planning documentation. Note that the most advanced and effective attitude towards testing is summed up at maturity level 4 Testing is a state of mind.

Attitudes to Testing

Immature

0 Testing is debugging

There is no difference between testing and debugging. Other than support of debugging, testing has no purpose.
Objective: identify any defects injected by programmers and not detected in normal debugging

1 Testing proves the software works

The purpose of testing is to show that the software works.
Objective: validate and verify software against its specifications and design descriptions

2 Testing proves the software doesn't work

The purpose of testing is to make the software fail.
Objective: place the software under extreme stress to identify all plausible failure modes

3 Testing is risk reduction

Testing increases our level of confidence that the software will not fail when delivered to the customer; more testing means less risk.
Objective: reduce the risk of delivering defective software to a customer by rigorous testing conducted by an independent group not responsible for building the software
Mature

4 Testing is a state of mind

Testing is not a single act. It is a mental discipline that results in software that doesn't need much testing. Testable code has fewer bugs.
Objectives: engage with the software development processes during all phases of the product's life cycle to ensure that:
  • Requirements specifications reflect the customer's needs and are testable
  • Design descriptions address all customer's requirements and describe software that will be observable and testable
  • Code implements design descriptions and is free from defects through code inspections, module testing and unit testing
  • Identify defective emergent properties in the integrated system through integration testing
  • Identify any failure modes that may occur when the system is placed under stress of high volumes and transaction rates and hostile environments through comprehensive system testing
  • Identify any failure modes that may emerge when the system is integrated on-site through site integration testing
  • Identify any noncompliances with customer's requirements prior to placing the system in common use through acceptance testing
  • Identify any faults induced by maintenance activities through comprehensive regression testing of all changes.

Case Study: Chernobyl - Catastrophic Failure of a Test Program

The image above is a photograph taken from space by an American space shuttle mission. At the top of the photograph is the Chernobyl nuclear reactor adjacent to it's cooling pond. The Chernobyl nuclear accident (April, 1986) came about because of an ill conceived and poorly planned and executed test on an unstable reactor design. The result was a disaster. An explosion and fire released large quantities of radioactive contamination into the atmosphere, which spread over much of Western USSR and Europe. It is considered the worst nuclear power plant accident in history.

The reactor design. A graphite moderated and water-cooled reactor controlled by 211 control rods. The reactor was operated with a complex computer control system.

The test objective. The test was to determine whether, after steam had been shut off from the turbo generator, the inertia of the still rotating generator would be sufficient to generate enough electricity to operate auxiliary motors that were part of the reactor emergency cooling system. Note that the nuclear power plant did not rely on its own electricity for operation. Offsite electricity was provided. The objective of the experiment was to see how long the locally generated electricity would power the main pumps that keep the cooling water flowing over the fuel.

What went wrong. The test procedure was not prepared or approved in the proper way and was of low quality. In addition:

  • The operators deviated from the plan which created emergency conditions
  • The reactor was to be run at low power so the automatic control system had to be switched off
  • At low power this reactor design is unstable
  • The operators inserted the graphite rods but the power dropped off to quickly. They then tried to increase power by pulling out the control rods. They eventually withdrew all the control rods to get the power back up. Pulling all rods out is dangerous as a minimum of 30 rods are needed for emergency shutdown. At this point only six to eight rods were in the core
  • The operators were manually controlling the flow of water into the reactor. This is very difficult as the reactor is unstable at low power and would normally be shut down automatically
  • To stop an automatic shutdown the operators short circuited the emergency protection signals
  • In its unstable state the reactor suddenly increased its power output
  • The operators manually initiated the emergency SCRAM button which inserts all rods into the reactor. It was too late. The great amount of heat produced by the increased rate of fissioning caused an explosion
  • Enormous pressure built up in the vertical pressure pipes, which lifted the concrete slab above the reactor, took off the roof of the building above the concrete slab, and blew the fuel out.

A bad attitude to testing. Chernobyl 4 was a model plant. It ran very well. Its operators viewed themselves as an elite crew; they had become overconfident. The operators did not think carefully enough about the impacts of their test on the reactor. They were not risk aware. In other words they were running a test but they didn't expect to find an error. This is generally a bad attitude in a tester. The operators had only seconds to react to the emergency - a bad situation in any safety-critical plant.

Plant management blamed the operators. But scientists from other countries agreed that the unstable nature of the reactor design made it difficult to control. You can not make an unsafe design safe by having clever operators.

Lessons learned. The operators at Chernobyl had become complacent. They slipped into the dangerous attitude that an accident could never happen. The testing process was not capable of demonstrating enhanced reactor functionality or improving reactor safety; it only indicated how unsafe it really was. A few simple steps could have avoided a global disaster:

  • Set realistic test objectives
  • Create detailed test plans
  • Conduct thorough peer reviews of test plans
  • Expect to find problems. Expect things to go wrong
  • Identify risks
  • Have risk management strategies ready.
Collaboration

Member Comments

69 Comments 

47 member ratings

✭ ✭ ✭ ✭ ✩

RE Definition: Software Testing

Thung pha sanh poker – Tay bai quyen luc tai Vn138

By vn138 » Thu 09-Oct-2025, 00:17, My rating: ✭ ✩ ✩ ✩ ✩

[b][b]Thùng Phá Sảnh Poker – Bí Quyết Chinh Phục Tay Bài Quyền Lực Tại Vn138[/b][/b]

Trong thế giới poker đầy tính cạnh tranh, việc sở hữu một tay bài mạnh là chìa khóa dẫn đến chiến thắng. Trong số những tổ hợp bài đáng gờm nhất, Thùng phá sảnh (Straight Flush) luôn giữ một vị trí gần như bất khả chiến bại. Bài viết này sẽ đưa bạn đi sâu vào khám phá sức mạnh của Thùng phá sảnh, cách nhận biết và chiến lược để bạn có thể tự tin chinh phục tay bài huyền thoại này tại sòng bài trực tuyến [url=https://vn138.gdn/]vn138.gdn[/url].
[b]Giải Mã Sức Mạnh Của Thùng Phá Sảnh Trong Poker[/b]
Thùng phá sảnh là sự kết hợp hoàn hảo giữa hai khái niệm: "Thùng" (Flush - 5 lá bài cùng chất) và "Sảnh" (Straight - 5 lá bài có giá trị liên tiếp). Khi bạn sở hữu một Thùng phá sảnh, điều đó có nghĩa là bạn có 5 lá bài vừa cùng một chất (ví dụ: cùng cơ), vừa có giá trị liên tục (ví dụ: 8, 9, 10, J, Q cùng chất cơ). Đây là tay bài đứng thứ hai trong thang xếp hạng bài Poker, chỉ sau mỗi Royal Flush (Thùng phá sảnh cao nhất từ 10 đến Át). Sức mạnh của nó nằm ở sự hiếm có và gần như không thể bị đánh bại trong hầu hết các ván bài. Khi sở hữu Thùng phá sảnh tại Vn138, tỷ lệ thắng của bạn là cực kỳ cao, gần như chắc chắn.
[b]Phân Loại Các Dạng Thùng Phá Sảnh Phổ Biến[/b]
Mặc dù đều là Thùng phá sảnh, nhưng chúng vẫn được phân chia theo giá trị. Dạng cao nhất và mạnh nhất chính là Royal Flush, bao gồm 10, J, Q, K, Át cùng chất. Đây là tay bài không thể bị đánh bại và là mơ ước của mọi người chơi. Tiếp theo là các Thùng phá sảnh thông thường, được xác định dựa trên lá bài cao nhất trong dây. Ví dụ, một Thùng phá sảnh từ 9, 10, J, Q, K (cùng chất) sẽ được gọi là "Thùng phá sảnh cao nhất là K" và nó sẽ đánh bại một "Thùng phá sảnh cao nhất là Q". Việc hiểu rõ thứ bậc này giúp bạn tự tin hơn khi so bài tại các bàn chơi poker đỉnh cao ở Vn138.
[b]Cơ Hội Xuất Hiện Của Thùng Phá Sảnh Trong Trò Chơi[/b]
Sức mạnh của Thùng phá sảnh tỷ lệ nghịch với xác suất xuất hiện của nó. Trong một bộ bài 52 lá tiêu chuẩn, xác suất để bạn được chia một Thùng phá sảnh ngay từ đầu là vô cùng nhỏ, chỉ vào khoảng 0.0015%. Điều này có nghĩa là trung bình, bạn có thể chơi hàng chục ngàn ván bài mới may mắn gặp được nó một lần. Chính sự khan hiếm này đã tạo nên giá trị và sự phấn khích tột đỉnh mỗi khi người chơi tại Vn138 sở hữu được nó. Nó không phải là thứ bạn có thể lên kế hoạch để có, mà là sự kết hợp của chiến lược, kỹ năng và một chút may mắn trời ban.
[b]Chiến Lược Chơi Khi Có Thùng Phá Sảnh Tại Vn138[/b]
Khi may mắn sở hữu Thùng phá sảnh, nhiệm vụ của bạn là tối đa hóa giá trị của nó. Một sai lầm phổ biến là tống tiền quá mạnh và quá sớm, khiến đối thủ e ngại và bỏ bài. Thay vào đó, hãy áp dụng chiến thuật "câu cá". Bắt đầu bằng việc check hoặc cược một số tiền nhỏ để thu hút càng nhiều người chơi cùng tham gia càng tốt. Khi ván bài tiến triển đến các vòng cược sau, bạn có thể từ từ tăng dần mức cược, khiến đối thủ lầm tưởng bạn đang bluff hoặc chỉ có một tay bài khá mạnh như Sảnh hoặc Thùng. Mục tiêu cuối cùng là dụ đối thủ all-in (tất tay) khi họ tin rằng họ đang nắm chắc phần thắng. Môi trường poker chuyên nghiệp tại Vn138 là nơi lý tưởng để bạn thực hành chiến lược này, nơi bạn có thể đối đầu với những người chơi sừng sỏ và thu về những nồi tiền khổng lồ.
[b]Làm Thế Nào Để Theo Đuổi Thùng Phá Sảnh Một Cách Thông Minh?[/b]
Mặc dù rất khó để có được Thùng phá sảnh, nhưng bạn hoàn toàn có thể gia tăng cơ hội bằng cách theo đuổi nó một cách có tính toán. Hãy chú ý khi bạn đang giữ 3 hoặc 4 lá bài cùng chất và có giá trị liên tiếp, chẳng hạn như 6, 7, 8 rô. Khi đó, bạn đang có một "sảnh đồng chất" và cơ hội để hoàn thiện Thùng phá sảnh là rất đáng kể. Tuy nhiên, đừng để sự háo thắng khiến bạn tốn quá nhiều tiền để theo đuổi một giấc mơ xa vời. Luôn tính toán tỷ lệ cược (pot odds) để đảm bảo số tiền bạn bỏ ra theo cược là xứng đáng với xác suất hoàn thành tay bài mạnh. Sự kiên nhẫn và kỷ luật là chìa khóa then chốt.
[b]Kết Luận: Nắm Bắt Cơ Hội Với Thùng Phá Sảnh Tại Vn138[/b]
Thùng phá sảnh không chỉ là một tổ hợp bài; nó là biểu tượng của quyền lực và sự may mắn tột đỉnh trong poker. Hiểu rõ bản chất, cách nhận biết và chiến lược khai thác hiệu quả tay bài này sẽ nâng tầm kỹ năng poker của bạn lên một đẳng cấp mới. Hãy đến với Vn138, nơi cung cấp nền tảng chơi poker trực tuyến chuyên nghiệp, minh bạch và đầy thử thách, để bạn có thể trải nghiệm cảm giác tuyệt vời khi tự tay tạo ra và chiến thắng với Thùng phá sảnh. Hãy chuẩn bị tinh thần, rèn luyện kỹ năng và sẵn sàng cho cơ hội trở thành người chiến thắng với tay bài quyền lực bậc nhất này.




 

69 Comments  • Page 4 of 69 •        Previous « 1…  2   3   4   5   6  …69 » Next

- Rate this definition.
- Did it help?
- Suggest improvements.
- Request more information.
- Exchange ideas with our member community.

Software Bug

Testing Non-objectives

Testing is an important part of any software quality program but it should NOT be expected to meet the following objectives:

1. Testing does not prove the absence
    of bugs

  • Testing only demonstrates the presence of bugs
  • Finding thousands of bugs does not mean you have found all the bugs
  • Absence of bugs could mean ineffective test cases.

2. Testing, in isolation, does not improve
    software quality

  • Test results are an indicator of software quality but don’t improve it
  • Increased testing does not increase quality
  • Improved software development process increase quality.
Email to a friend