Oil shaleOil shale is an organic-rich fine-grained sedimentary rock containing kerogen (a solid mixture of organic chemical compounds) from which liquid hydrocarbons can be produced. In addition to kerogen, general composition of oil shales constitutes inorganic substance and bitumens. Based on their deposition environment, oil shales are classified as marine, lacustrine and terrestrial oil shales. Oil shales differ from oil-bearing shales, shale deposits that contain petroleum (tight oil) that is sometimes produced from drilled wells.
Shale oilShale oil is an unconventional oil produced from oil shale rock fragments by pyrolysis, hydrogenation, or thermal dissolution. These processes convert the organic matter within the rock (kerogen) into synthetic oil and gas. The resulting oil can be used immediately as a fuel or upgraded to meet refinery feedstock specifications by adding hydrogen and removing impurities such as sulfur and nitrogen. The refined products can be used for the same purposes as those derived from crude oil.
Shale oil extractionShale oil extraction is an industrial process for unconventional oil production. This process converts kerogen in oil shale into shale oil by pyrolysis, hydrogenation, or thermal dissolution. The resultant shale oil is used as fuel oil or upgraded to meet refinery feedstock specifications by adding hydrogen and removing sulfur and nitrogen impurities. Shale oil extraction is usually performed above ground (ex situ processing) by mining the oil shale and then treating it in processing facilities.
Shale gasShale gas is an unconventional natural gas that is found trapped within shale formations. Since the 1990s a combination of horizontal drilling and hydraulic fracturing has made large volumes of shale gas more economical to produce, and some analysts expect that shale gas will greatly expand worldwide energy supply. Shale gas has become an increasingly important source of natural gas in the United States since the start of this century, and interest has spread to potential gas shales in the rest of the world.
Unit testingIn computer programming, unit testing is a software testing method by which individual units of source code—sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures—are tested to determine whether they are fit for use. It is a standard step in development and implementation approaches such as Agile. Before unit testing, capture and replay testing tools were the norm. In 1997, Kent Beck and Erich Gamma developed and released JUnit, a unit test framework that became popular with Java developers.
Test automationIn software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. Test automation is critical for continuous delivery and continuous testing.
Test caseIn software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise a particular program path or to verify compliance with a specific requirement. Test cases underlie testing that is methodical rather than haphazard. A battery of test cases can be built to produce the desired coverage of the software being tested.
Integration testingIntegration testing (sometimes called integration and testing, abbreviated I&T) is the phase in software testing in which the whole software module is tested or if it consists of multiple software modules they are combined and then tested as a group. Integration testing is conducted to evaluate the compliance of a system or component with specified functional requirements. It occurs after unit testing and before system testing.
Regression testingRegression testing (rarely, non-regression testing) is re-running functional and non-functional tests to ensure that previously developed and tested software still performs as expected after a change. If not, that would be called a regression. Changes that may require regression testing include bug fixes, software enhancements, changes, and even substitution of electronic components (hardware). As regression test suites tend to grow with each found defect, test automation is frequently involved.
Oil shale industryThe oil shale industry is an industry of mining and processing of oil shale—a fine-grained sedimentary rock, containing significant amounts of kerogen (a solid mixture of organic chemical compounds), from which liquid hydrocarbons can be manufactured. The industry has developed in Brazil, China, Estonia and to some extent in Germany and Russia. Several other countries are currently conducting research on their oil shale reserves and production methods to improve efficiency and recovery.