Testing to verify a product meets customer specified requirements. A customer usually does this type of testing on a product that is developed externally. BLACK BOX TESTING Testing without knowledge of the internal workings of the item being tested. Tests are usually functional. COMPATIBILITY TESTING Testing to ensure compatibility of an application or Web site with different browsers, OSs, and hardware platforms. Compatibility testing can be performed manually or can be driven by an automated functional or regression test suite. Verifying implementation conformance to industry standards. Producing tests for the behavior of an implementation to be sure it provides the portability, interoperability, and/or compatibility a standard defines. FUNCTIONAL TESTING Validating an application or Web site conforms to its specifications and correctly performs all its required functions. This entails a series of tests which perform a feature by feature validation of behavior, using a wide range of normal and erroneous input data. This can involve testing of the product's user interface, APIs, database management, security, installation, networking, etcF testing can be performed on an automated or manual basis using black box or white box methodologies. Testing in which modules are combined and tested as a group. Modules are typically code modules, individual applications, client and server applications on a network, etc. Integration Testing follows and precedes . LOAD TESTING Load testing is a generic term covering Performance Testing and . PERFORMANCE TESTING Performance testing can be applied to understand your application or WWW site's scalability, or to the performance in an environment of third party products such as servers and middleware for potential purchase. This sort of testing is particularly useful to identify performance bottlenecks in high use applications. Performance testing generally involves an automated test suite as this allows easy simulation of a variety of normal, peak, and exceptional load conditions. Similar in scope to a functional test, a regression test allows a consistent, repeatable validation of each new release of a product or Web site. Such testing ensures reported product defects have been corrected for each new release and that no new quality problems were introduced in the maintenance process. Though regression testing can be performed manually an automated test suite is often used to reduce the time and resources needed to perform the required testing. A quick-and-dirty test that the major functions of a piece of software work without bothering with finer details. Originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch on fire. STRESS TESTING Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements to determine the load under which it fails and how. A graceful degradation under load leading to non-catastrophic failure is the desired result. Often Stress Testing is performed using the same process as Performance Testing but employing a very high level of simulated load. SYSTEM TESTING Testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic. UNIT TESTING Functional and reliability testing in an Engineering environment. Producing tests for the behavior of components of a product to ensure their correct behavior prior to system integration. WHITE BOX TESTING Testing based on an analysis of internal workings and structure of a piece of software. Includes techniques such as Branch Testing and Path Testing. Also known as Structural Testing and Glass Box Testing.

All types of database files used in Oracle DB

The physical structure of the Oracle DB consists of three file types, which are:-

• Datafiles - as the name suggests, these type of files store the data on disk.These files are almost always written only by the Mandatory Background process named DBWR (Database Writer). There are only a few exceptions when these files are written by some other system processes. From the logical structure of Oracle DB, we can visualize that Datafiles reside in the logical container of the tables and indexes. This container is called 'Tablespaces'. • Control files - these are binary files and they store information about the database, such as name of the database. The control files contain so vital information that the Oracle DB won't start if these files are not available. Probably that's the reason why Oracle allows to maintain duplicate copies of control files. This process is called multiplexing of control files and it'll always be a good idea to keep duplicate copies on separate disks for obvious reasons. • Redo Log files - these files are used to record all the changes made to the Oracle DB. These files comes very handy in situation like DB crash. Suppose you have scheduled periodic backup every 15 days and if the disk crashes on say 14th day then it may be quite difficult to recover the data in absence of these redo log files. Redo log files will be of so much help in this case that you will simply need to restart the database to recover all the lost data. These Redo Log files are online log files and Oracle DB requires at least two online Redo Log files. When one is full it switches to the other. You can have multiplexed Redo Log files as well and for that'll be handy if these online Redo Log files themsevles get corrupted.

In addition to these three types of files, Oracle DB uses many other types of files as well and each of these files have their own special uses. Some of these file types are:- • Parameter file - this file is also called init.ora in Oracle DB. It contains the configuration details which are used for during startup of the database. Some of the information contained by this file is: the location of the Control files, the size of RAM the Oracle DB would be using, location of the trace files, etc. As you can easily understand that without these information, the database won't start. Oracle DB supports two types of parameter files: One, Manual parameter file which is also known as PFILE and Two, server side parameter file aka SPFILE. • Trace files - Oracle DB creates these files in many cases including session failure, disk crash, etc. It can be created by issuing commands by users of Oracle DB as well. • Networking configuration files - tnsnames.ora and listener.ora fall in this category of files. As the name suggests, these files are used to store the configuration details of the different network components used by the underlying Oracle DB. • Oracle Binary files - these binary files contain the instructions to run the Oracle DB.