romikgosai/squad_modified huggingface dataset:
A common cause of software failure (real or perceived) is a lack of its compatibility with other application software, operating systems (or operating system versions, old or new), or target environments that differ greatly from the original (such as a terminal or GUI application intended to be run on the desktop now being required to become a web application, which must render in a web browser). For example, in the case of a lack of backward compatibility, this can occur because the programmers develop and test software only on the latest version of the target environment, which not all users may be running. This results in the unintended consequence that the latest work may not function on earlier versions of the target environment, or on older hardware that earlier versions of the target environment was capable of using. Sometimes such issues can be fixed by proactively abstracting operating system functionality into a separate program module or library.

Questions and answers:
['
Q: What is the most common reason for software failure?
A: compatibility with other application software', '
Q: What do developers commonly do when creating software that can lead to failures?
A: lack of backward compatibility', '
Q: What is the most common cause for software failure?
A: lack of its compatibility with other application software', '
Q: What often lacks in software developed when its released that can eventually lead to errors?
A: a lack of backward compatibility', '
Q: What does backwards compatibility always seem to be the cause of errors and bugs after a release?
A: test software only on the latest version of the target environment']
Regression testing focuses on finding defects after a major code change has occurred. Specifically, it seeks to uncover software regressions, as degraded or lost features, including old bugs that have come back. Such regressions occur whenever software functionality that was previously working correctly, stops working as intended. Typically, regressions occur as an unintended consequence of program changes, when the newly developed part of the software collides with the previously existing code. Common methods of regression testing include re-running previous sets of test-cases and checking whether previously fixed faults have re-emerged. The depth of testing depends on the phase in the release process and the risk of the added features. They can either be complete, for changes added late in the release or deemed to be risky, or be very shallow, consisting of positive tests on each feature, if the changes are early in the release or deemed to be of low risk. Regression testing is typically the largest test effort in commercial software development, due to checking numerous details in prior software features, and even new software can be developed while using some old test-cases to test parts of the new design to ensure prior functionality is still supported.

Questions and answers:
['
Q: Finding defects once a change in code had already happened is called?
A: Regression testing', '
Q: What happens to software after a major change in code that leads to regression??
A: stops working as intended', '
Q: What is a common method used during regression testing?
A: re-running previous sets of test-cases', '
Q: What determines how deep a tester will go during regression?
A: phase in the release process and the risk of the added features', '
Q: If changes need to occur during the softwares early release with regression testing how much of an impact does this have on the team as related to other testing? 
A: typically the largest test effort in commercial software development']
Beta testing comes after alpha testing and can be considered a form of external user acceptance testing. Versions of the software, known as beta versions, are released to a limited audience outside of the programming team known as beta testers. The software is released to groups of people so that further testing can ensure the product has few faults or bugs. Beta versions can be made available to the open public to increase the feedback field to a maximal number of future users and to deliver value earlier, for an extended or even indefinite period of time (perpetual beta).[citation needed]

Questions and answers:
['
Q: What typically comes after the Alpha stage in the development and testing of software?
A: Beta testing', '
Q: To whom is the beta testing released to?
A: limited audience outside of the programming', '
Q: What is it called when a public test continues indefinitely?
A: perpetual beta']
Destructive testing attempts to cause the software or a sub-system to fail. It verifies that the software functions properly even when it receives invalid or unexpected inputs, thereby establishing the robustness of input validation and error-management routines.[citation needed] Software fault injection, in the form of fuzzing, is an example of failure testing. Various commercial non-functional testing tools are linked from the software fault injection page; there are also numerous open-source and free software tools available that perform destructive testing.

Questions and answers:
['
Q: What method is used to cause a system to fail?
A: Destructive testing', '
Q: What does Destructive testing verify?
A: software functions properly even when it receives invalid or unexpected inputs', '
Q: What is one example of failure testing?
A: Software fault injection']
Load testing is primarily concerned with testing that the system can continue to operate under a specific load, whether that be large quantities of data or a large number of users. This is generally referred to as software scalability. The related load testing activity of when performed as a non-functional activity is often referred to as endurance testing. Volume testing is a way to test software functions even when certain components (for example a file or database) increase radically in size. Stress testing is a way to test reliability under unexpected or rare workloads. Stability testing (often referred to as load or endurance testing) checks to see if the software can continuously function well in or above an acceptable period.

Questions and answers:
['
Q: What method is used to test software under a specific load?
A: Load testing', '
Q: What two methods can be used when using Load Testing?
A: data or a large number of users', '
Q: What is called to test software functions when certain components increase in side?
A: Volume testing', '
Q: What is Stable testing also called?
A: endurance testing', '
Q: What method is used to test components under unexpected workloads?
A: Stress testing']
Development Testing is a software development process that involves synchronized application of a broad spectrum of defect prevention and detection strategies in order to reduce software development risks, time, and costs. It is performed by the software developer or engineer during the construction phase of the software development lifecycle. Rather than replace traditional QA focuses, it augments it. Development Testing aims to eliminate construction errors before code is promoted to QA; this strategy is intended to increase the quality of the resulting software as well as the efficiency of the overall development and QA process.

Questions and answers:
['
Q: What method is used that involves synchronization of a application?
A: Development Testing', '
Q: When is development testing used?
A: construction phase of the software development lifecycle', '
Q: What does Development testing look to eliminate?
A: construction errors']
In contrast, some emerging software disciplines such as extreme programming and the agile software development movement, adhere to a "test-driven software development" model. In this process, unit tests are written first, by the software engineers (often with pair programming in the extreme programming methodology). Of course these tests fail initially; as they are expected to. Then as code is written it passes incrementally larger portions of the test suites. The test suites are continuously updated as new failure conditions and corner cases are discovered, and they are integrated with any regression tests that are developed. Unit tests are maintained along with the rest of the software source code and generally integrated into the build process (with inherently interactive tests being relegated to a partially manual build acceptance process). The ultimate goal of this test process is to achieve continuous integration where software updates can be published to the public frequently.

Questions and answers:
['
Q: Which two current movements adhere to the "test-driven software development"?
A: extreme programming and the agile software development', '
Q: Under the development of agile software and extreme programing what is written first?
A: unit tests are written first', '
Q: What is the goal of Unit testing?
A: achieve continuous integration where software updates can be published to the public frequently']
Bottom Up Testing is an approach to integrated testing where the lowest level components (modules, procedures, and functions) are tested first, then integrated and used to facilitate the testing of higher level components. After the integration testing of lower level integrated modules, the next level of modules will be formed and can be used for integration testing. The process is repeated until the components at the top of the hierarchy are tested. This approach is helpful only when all or most of the modules of the same development level are ready.[citation needed] This method also helps to determine the levels of software developed and makes it easier to report testing progress in the form of a percentage.[citation needed]

Questions and answers:
['
Q: What three components make up Bottom Up Testing?
A: modules, procedures, and functions', '
Q: Bottom Up Testing helps facilitate the testing of what?
A: the testing of higher level components', '
Q: What does Bottom Up Testing also help with once the process has been repeated over and over again at all levels?
A: makes it easier to report testing progress in the form of a percentage']
It has been proved that each class is strictly included into the next. For instance, testing when we assume that the behavior of the implementation under test can be denoted by a deterministic finite-state machine for some known finite sets of inputs and outputs and with some known number of states belongs to Class I (and all subsequent classes). However, if the number of states is not known, then it only belongs to all classes from Class II on. If the implementation under test must be a deterministic finite-state machine failing the specification for a single trace (and its continuations), and its number of states is unknown, then it only belongs to classes from Class III on. Testing temporal machines where transitions are triggered if inputs are produced within some real-bounded interval only belongs to classes from Class IV on, whereas testing many non-deterministic systems only belongs to Class V (but not all, and some even belong to Class I). The inclusion into Class I does not require the simplicity of the assumed computation model, as some testing cases involving implementations written in any programming language, and testing implementations defined as machines depending on continuous magnitudes, have been proved to be in Class I. Other elaborated cases, such as the testing framework by Matthew Hennessy under must semantics, and temporal machines with rational timeouts, belong to Class II.

Questions and answers:
['
Q: If the number of states is unknown, what group does this fall into?
A: Class II', '
Q: There are three classes, what has been concluded and proven for all classes?
A: each class is strictly included into the next', '
Q: If the number of states are unknown and the finite state of the machine is failing for a single trace, which group does this fall into?
A: Class III']
Several certification programs exist to support the professional aspirations of software testers and quality assurance specialists. No certification now offered actually requires the applicant to show their ability to test software. No certification is based on a widely accepted body of knowledge. This has led some to declare that the testing field is not ready for certification. Certification itself cannot measure an individual's productivity, their skill, or practical knowledge, and cannot guarantee their competence, or professionalism as a tester.

Questions and answers:
['
Q: With several certifications out there that can be aquired, what is the one trait they all share?
A: requires the applicant to show their ability to test software', '
Q: What has the inability for the applicant to show how well they test led to?
A: testing field is not ready for certification', "
Q: What four traits can a certification not measure?
A: individual's productivity, their skill, or practical knowledge"]
Software testing is a part of the software quality assurance (SQA) process.:347 In SQA, software process specialists and auditors are concerned for the software development process rather than just the artifacts such as documentation, code and systems. They examine and change the software engineering process itself to reduce the number of faults that end up in the delivered software: the so-called "defect rate". What constitutes an "acceptable defect rate" depends on the nature of the software; A flight simulator video game would have much higher defect tolerance than software for an actual airplane. Although there are close links with SQA, testing departments often exist independently, and there may be no SQA function in some companies.[citation needed]

Questions and answers:
['
Q: What makes up part of the SQA?
A: Software testing', '
Q: What is the primary concern for the software specialist and auditors?
A: software development process', '
Q: What type of software would have a better defect tolerance?
A: video game']
Many applications of silicate glasses derive from their optical transparency, which gives rise to one of silicate glasses' primary uses as window panes. Glass will transmit, reflect and refract light; these qualities can be enhanced by cutting and polishing to make optical lenses, prisms, fine glassware, and optical fibers for high speed data transmission by light. Glass can be colored by adding metallic salts, and can also be painted and printed with vitreous enamels. These qualities have led to the extensive use of glass in the manufacture of art objects and in particular, stained glass windows. Although brittle, silicate glass is extremely durable, and many examples of glass fragments exist from early glass-making cultures. Because glass can be formed or molded into any shape, and also because it is a sterile product, it has been traditionally used for vessels: bowls, vases, bottles, jars and drinking glasses. In its most solid forms it has also been used for paperweights, marbles, and beads. When extruded as glass fiber and matted as glass wool in a way to trap air, it becomes a thermal insulating material, and when these glass fibers are embedded into an organic polymer plastic, they are a key structural reinforcement part of the composite material fiberglass. Some objects historically were so commonly made of silicate glass that they are simply called by the name of the material, such as drinking glasses and reading glasses.

Questions and answers:
['
Q: What ingredient makes glass colorful?
A: metallic salts', '
Q: What in combination with glass fibers is used to make fiberglass?
A: organic polymer plastic', '
Q: What quality of silicate glass allows it to be used for windows?
A: transparency', '
Q: What type of glass products can be used for sending information?
A: optical fibers', '
Q: In what product are glass fibers used to hold dead air?
A: thermal insulating material']
Most common glass contains other ingredients to change its properties. Lead glass or flint glass is more 'brilliant' because the increased refractive index causes noticeably more specular reflection and increased optical dispersion. Adding barium also increases the refractive index. Thorium oxide gives glass a high refractive index and low dispersion and was formerly used in producing high-quality lenses, but due to its radioactivity has been replaced by lanthanum oxide in modern eyeglasses.[citation needed] Iron can be incorporated into glass to absorb infrared energy, for example in heat absorbing filters for movie projectors, while cerium(IV) oxide can be used for glass that absorbs UV wavelengths.

Questions and answers:
['
Q: What element is used in glass to keep it from becoming too hot?
A: Iron', '
Q: How does barium affect glass?
A: increases the refractive index', '
Q: What property of thorium oxide has caused it to no longer be used in eyeglasses?
A: radioactivity', '
Q: What is another name for lead glass?
A: flint glass', '
Q: What is the benefit of thorium oxide in addition to its refractive index?
A: low dispersion']
Fused quartz is a glass made from chemically-pure SiO2 (silica). It has excellent thermal shock characteristics, being able to survive immersion in water while red hot. However, its high melting-temperature (1723 °C) and viscosity make it difficult to work with. Normally, other substances are added to simplify processing. One is sodium carbonate (Na2CO3, "soda"), which lowers the glass transition temperature. The soda makes the glass water-soluble, which is usually undesirable, so lime (calcium oxide [CaO], generally obtained from limestone), some magnesium oxide (MgO) and aluminium oxide (Al2O3) are added to provide for a better chemical durability. The resulting glass contains about 70 to 74% silica by weight and is called a soda-lime glass. Soda-lime glasses account for about 90% of manufactured glass.

Questions and answers:
['
Q: What causes glass to dissolve in water?
A: soda', '
Q: Why is lime often added to glass?
A: better chemical durability', '
Q: What percentage of soda-lime glass is silica?
A: 70 to 74', '
Q: What is a benefit of fused quartz?
A: excellent thermal shock characteristics', '
Q: What besides viscosity is a drawback of fused quartz?
A: high melting-temperature']
Following the glass batch preparation and mixing, the raw materials are transported to the furnace. Soda-lime glass for mass production is melted in gas fired units. Smaller scale furnaces for specialty glasses include electric melters, pot furnaces, and day tanks. After melting, homogenization and refining (removal of bubbles), the glass is formed. Flat glass for windows and similar applications is formed by the float glass process, developed between 1953 and 1957 by Sir Alastair Pilkington and Kenneth Bickerstaff of the UK's Pilkington Brothers, who created a continuous ribbon of glass using a molten tin bath on which the molten glass flows unhindered under the influence of gravity. The top surface of the glass is subjected to nitrogen under pressure to obtain a polished finish. Container glass for common bottles and jars is formed by blowing and pressing methods. This glass is often slightly modified chemically (with more alumina and calcium oxide) for greater water resistance. Further glass forming techniques are summarized in the table Glass forming techniques.

Questions and answers:
['
Q: What happens during refining?
A: removal of bubbles', '
Q: What method is used for making windows?
A: float glass process', '
Q: What is used on the surface of window glass to make it smooth?
A: nitrogen', '
Q: What is added to the glass of jars to improve water resistance?
A: alumina and calcium oxide', '
Q: Who were the inventors of the float glass process?
A: Alastair Pilkington and Kenneth Bickerstaff']
Glass has the ability to refract, reflect, and transmit light following geometrical optics, without scattering it. It is used in the manufacture of lenses and windows. Common glass has a refraction index around 1.5. This may be modified by adding low-density materials such as boron, which lowers the index of refraction (see crown glass), or increased (to as much as 1.8) with high-density materials such as (classically) lead oxide (see flint glass and lead glass), or in modern uses, less toxic oxides of zirconium, titanium, or barium. These high-index glasses (inaccurately known as "crystal" when used in glass vessels) cause more chromatic dispersion of light, and are prized for their diamond-like optical properties.

Questions and answers:
['
Q: What can be used to make glass less refractive?
A: boron', '
Q: What is the refraction index of typical glass?
A: 1.5', '
Q: What is a toxic additive that increases refraction?
A: lead oxide', '
Q: What are high-index glasses erroneously called?
A: crystal', '
Q: Why are high-index glasses valued?
A: for their diamond-like optical properties']
The most familiar, and historically the oldest, types of glass are "silicate glasses" based on the chemical compound silica (silicon dioxide, or quartz), the primary constituent of sand. The term glass, in popular usage, is often used to refer only to this type of material, which is familiar from use as window glass and in glass bottles. Of the many silica-based glasses that exist, ordinary glazing and container glass is formed from a specific type called soda-lime glass, composed of approximately 75% silicon dioxide (SiO2), sodium oxide (Na2O) from sodium carbonate (Na2CO3), calcium oxide, also called lime (CaO), and several minor additives. A very clear and durable quartz glass can be made from pure silica, but the high melting point and very narrow glass transition of quartz make glassblowing and hot working difficult. In glasses like soda lime, the compounds added to quartz are used to lower the melting temperature and improve workability, at a cost in the toughness, thermal stability, and optical transmittance.

Questions and answers:
['
Q: Which kinds of glass existed the furthest in the past?
A: silicate glasses', '
Q: What kind of glass are containers made from?
A: soda-lime glass', '
Q: What is sand mostly made of?
A: silica', '
Q: What can a very strong and transparent glass be made from?
A: pure silica', '
Q: What types of glass is the word commonly used to mean?
A: silicate glasses']
Glass is in widespread use largely due to the production of glass compositions that are transparent to visible light. In contrast, polycrystalline materials do not generally transmit visible light. The individual crystallites may be transparent, but their facets (grain boundaries) reflect or scatter light resulting in diffuse reflection. Glass does not contain the internal subdivisions associated with grain boundaries in polycrystals and hence does not scatter light in the same manner as a polycrystalline material. The surface of a glass is often smooth since during glass formation the molecules of the supercooled liquid are not forced to dispose in rigid crystal geometries and can follow surface tension, which imposes a microscopically smooth surface. These properties, which give glass its clearness, can be retained even if glass is partially light-absorbing—i.e., colored.

Questions and answers:
['
Q: What does glass lack, allowing it to be transparent?
A: internal subdivisions', '
Q: What force gives glass its surface texture?
A: surface tension', "
Q: What, in contrast to glass, doesn't let light pass through?
A: polycrystalline materials", '
Q: What type of glass absorbs some light?
A: colored']