Software Testing




Acceptance Testing: Formal testing conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system.


Active Testing: Type of testing consisting in introducing test data and analyzing the execution results.


Age Testing: Type of testing which evaluates a system's ability to perform in the future. 


Ad-hoc Testing: Testing performed without planning and documentation - the tester tries to 'break' the system by randomly trying the system's functionality.


Alpha Testing: Type of testing a software product or system conducted at the developer's site. Usually it is performed by the end users.


Assertion Testing: Type of testing consisting in verifying if the conditions confirm the product requirements. 


Beta Testing: Final testing before releasing application for commercial purpose.


Black box Testing: A method of software testing that verifies the functionality of an application without having specific knowledge of the application's code/internal structure.


Compatibility Testing: Testing technique that validates how well a software performs in a particular hardware/software/operating system/network environment. 


Component Testing: Testing technique similar to unit testing but with a higher level of integration - testing is done in the context of the application instead of just directly testing a specific method. 


Configuration Testing: Testing technique which determines minimal and optimal configuration of hardware and software, and the effect of adding or modifying resources such as memory, disk drives and CPU. 


Condition Coverage Testing: Type of software testing where each condition is executed by making it true and false, in each of the ways at least once.


Conformance Testing: The process of testing that an implementation conforms to the specification on which it is based. 


Destructive Testing: Type of testing in which the tests are carried out to the specimen's failure, in order to understand a specimen's structural performance or material behavior under different loads. 


Dynamic Testing: Term used in software engineering to describe the testing of the dynamic behavior of code. 


Exploratory Testing: Black box testing technique performed without planning and documentation.


Fault injection Testing: Element of a comprehensive test strategy that enables the tester to concentrate on the manner in which the application under test is able to handle exceptions. 


Functional Testing: Type of black box testing that bases its test cases on the specifications of the software component under test.


Fuzz Testing: Software testing technique that provides invalid, unexpected, or random data to the inputs of a program - a special area of mutation testing. 


Gray Box Testing: A combination of Black Box and White Box testing methodologies:  testing a piece of software against its specification but using some knowledge of its internal workings.


GUI software Testing: The process of testing a product that uses a graphical user interface, to ensure it meets its written specifications. This is normally done by the testing teams.


Globalization Testing: Testing method that checks proper functionality of the product with any of the culture/locale settings using every type of international input possible.


Interface Testing: Testing conducted to evaluate whether systems or components pass data and control correctly to one another.


Install/uninstall Testing: Quality assurance work that focuses on what customers will need to do to install and set up the new software successfully.


Internationalization Testing: The process which ensures that product's functionality is not broken and all the messages are properly externalized when used in different languages and locale.


Keyword-driven Testing: Also known as table-driven testing or action-word testing, is a software testing methodology for automated testing that separates the test creation process into two distinct stages:  a Planning Stage and an Implementation Stage.


Localization Testing: Part of software testing process focused on adapting a globalized application to a particular culture/locale. 


Manual Scripted Testing: Testing method in which the test cases are designed and reviewed by the team before executing it.


Model-Based Testing: The application of Model based design for designing and executing the necessary artifacts to perform software testing.


Non-functional Testing: Testing technique which focuses on testing of a software application for its non-functional requirements.   


Negative Testing: Also known as "test to fail" - testing method where the tests' aim is showing that a component or system does not work.


Operational Testing: Testing technique conducted to evaluate a system or component in its operational environment.


Passive Testing: Testing technique consisting in monitoring the results of a running system without introducing any special test data.


Penetration Testing: Testing method which evaluates the security of a computer system or network by simulating an attack from a malicious source. 


Qualification Testing: Testing against the specifications of the previous release, usually conducted by the developer for the consumer, to demonstrate that the software meets its specified requirements.


Ramp Testing: Type of testing consisting in raising an input signal continuously until the system breaks down. 


Regression Testing: Type of software testing that seeks to uncover software errors after changes to the program (e.g. bug fixes or new functionality) have been made, by retesting the program. 


Recovery Testing: Testing technique which evaluates how well a system recovers from crashes, hardware failures, or other catastrophic problems. 


Requirements Testing: Testing technique which validates that the requirements are correct, complete, unambiguous, and logically consistent and allows designing a necessary and sufficient set of test cases from those requirements.


Security Testing: A process to determine that an information system protects data and maintains functionality as intended.


Sanity Testing: Testing technique which determines if a new software version is performing well enough to accept it for a major testing effort.


Scenario Testing: Testing activity that uses scenarios based on a hypothetical story to help a person think through a complex problem or system for a testing environment.


Statement Testing: White box testing which satisfies the criterion that each statement in a program is executed at least once during program testing.


Static Testing: A form of software testing where the software isn't actually used it checks mainly for the sanity of the code, algorithm, or document. 


Smoke Testing: Testing technique which examines all the basic components of a software system to ensure that they work properly.


User Interface Testing: Type of testing which is performed to check how user-friendly the application is.


Usability Testing: Testing technique which verifies the ease with which a user can learn to operate, prepare inputs for, and interpret outputs of a system or component. 


Vulnerability Testing: Type of testing which regards application security and has the purpose to prevent problems which may affect the application integrity and stability. 


White box Testing: Testing technique based on knowledge of the internal logic of an application's code and includes tests like coverage of code statements, branches, paths, conditions. 




Il prezzo del servizio testing si regola in base al budget del cliente dedicato allo sviluppo del software.

Il prezzo di sviluppo di un sito, web App o di un altro software comprende anche le spese di collaudo.

Per ricevere un preventivo bisogna inviarci la vostra richiesta con l’indicazione dei seguenti informazioni:

- software (applicazione, sito ecc) da testare;

- tipo di testing richiesto;

- specificazione ed altra documentazione presente;

- spese pianificate o le spese desiderabili per il collaudo.

- altri informazioni che possono essere utili.

- contatti.




Servizio prevede collaudo di software secondo il Software Requirements Specification  concesso dal committente e comprende la produzione del bug report finale alla conclusione del testing.

La documentazione di solito comprende:

  • Test Plan;
  • Test Design;
  • Test-case;
  • Use-case;
  • Check-list.

Nel caso di mancanza della documentazione o di qualsiasi sua parte si prega comunicarlo nella richiesta del servizio.

Sviluppo di Test Plan e Chek-list da parte di tester prevede le spese aggiuntivi.


Tempistica e Avvisi:


Il tempo necessario per eseguire il servizio dipende dalla mole di lavoro necessario prescritto nel Software Requirements Specification e/o Test Plan.

Nel caso di mancanza dell’informazione inerente al budget di sviluppo il prezzo del servizio verrà stabilito sulla base del tempo necessario per collaudo richiesto.


Se non si sa cosa specificamente e in che modo si desidera testare, nella richiesta si prega indicare testing completo del sito/web APP e l'URL dell'oggetto di test, ciò prevede il testing delle Funzionalità  Affidabilità Usabilità Efficienza Manutenibilità Portabilità e Negative testing manuale.

Il collaudo del software   ( cioè software testing)  è un procedimento, che fa parte del ciclo di vita del software, utilizzato per individuare le carenze di correttezza, completezza e affidabilità delle componenti software in corso di sviluppo. Consiste nell'eseguire il software da collaudare, da solo o in combinazione ad altro software di servizio, e nel valutare se il comportamento del software rispetta i requisiti.

Copyright @ All AfariLiberi 2018

P. IVA 03646371207