Skip to main content

New to software testing? Want to learn more about your craft? Come and join us at the Software Testing Club

Software testing

Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs (errors or other defects).
Software testing can be stated as the process of validating and verifying that a computer program/application/product:
  • Meets the requirements that guided its design and development, works as expected,
  • can be implemented with the same characteristics, and satisfies the needs of stakeholders.
  • Software testing, depending on the testing method employed, can be implemented at any time in the development process. Traditionally most of the test effort occurs after the requirements have been defined and the coding process has been completed, but in the Agile approaches most of the test effort is on-going. As such, the methodology of the test is governed by the chosen software development methodology.
Different software development models will focus the test effort at different points in the development process. Newer development models, such as Agile, often employ test-driven development and place an increased portion of the testing in the hands of the developer, before it reaches a formal team of testers. In a more traditional model, most of the test execution occurs after the requirements have been defined and the coding process has been completed.
Defects and failures
Not all software defects are caused by coding errors. One common source of expensive defects is caused by requirement gaps, e.g., unrecognized requirements, that result in errors of omission by the program designer.[6] A common source of requirements gaps is non-functional requirements such as testability, scalability, maintainability, usability, performance, and security.
Software faults occur through the following processes. A programmer makes an error (mistake), which results in a defect (fault, bug) in the software source code. If this defect is executed, in certain situations the system will produce wrong results, causing a failure.[7] Not all defects will necessarily result in failures. For example, defects in dead code will never result in failures. A defect can turn into a failure when the environment is changed. Examples of these changes in environment include the software being run on a new computer hardware platform, alterations in source data or interacting with different software.[7] A single defect may result in a wide range of failure symptoms



Comments

Popular posts from this blog

Testing Types

         Installation testing Main article: Installation testing An installation test assures that the system is installed correctly and working at actual customer's hardware. Compatibility testing Main article: Compatibility testing 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 cons...

Autoit Setup for Selenium Webdriver

Autoit Setup for Selenium Webdriver WHAT IS AUTOIT AutoIt  v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated  keystrokes ,  mouse movement  and window/control  manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying “runtimes” required! In layman’s   term AutoIt is just another automation tool like Selenium but unlike Selenium it is used for Desktop Automation rather Web Automation.  It is a powerful tool and it just not automate desktop windows, button & form, it automates mouse movements & keystrokes too. Just like Selenium IDE, it also gives you the recording capability which generates the scripts for you to use the same script in you test. AUTOIT F...

Clickjacking

Clickjacking Clickjacking  ( User Interface redress attack ,  UI redress attack ,  UI redressing ) is a  malicious technique  of tricking a  Web   user  into clicking on something different from what the user perceives they are clicking on, thus potentially revealing  confidential  information or taking control of their computer while clicking on seemingly innocuous  web pages . It is a  browser security  issue that is a  vulnerability  across a variety of  browsers  and  platforms . A clickjack takes the form of embedded  code  or a script that can execute without the user's knowledge, such as clicking on a  button  that appears to perform another function. [5]  The term "clickjacking" was coined by Jeremiah Grossman and Robert Hansen in 2008. [ citation needed ]  Clickjacking can be understood as an instance of the  confused deputy problem . [6] ...