\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Natalya Rahmany (narbit)} \pdfinfo{ /Title (common-testing-concepts.pdf) /Creator (Cheatography) /Author (Natalya Rahmany (narbit)) /Subject (Common Testing Concepts Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{4AC8DB} \definecolor{LightBackground}{HTML}{E8F8FA} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Common Testing Concepts Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Natalya Rahmany (narbit)} via \textcolor{DarkBackground}{\uline{cheatography.com/130639/cs/26070/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Natalya Rahmany (narbit) \\ \uline{cheatography.com/narbit} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 10th January, 2021.\\ Updated 10th January, 2021.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{p{0.8 cm} p{0.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Testing Types}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{1. {\bf{Sanity Testing}} is type of testing that QA perform after receiving the software build, sanity testing is performed to ensure that the code changes introduced are working as expected .This testing is a checkpoint to determine if testing for the build can proceed or not.} \tn % Row Count 6 (+ 6) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{2. {\bf{Smoke Testing}} is is preliminary testing to reveal simple failures severe enough to, for example, reject a prospective software release.Smoke tests are a subset of test cases that cover the most important functionality of a component or system, used to aid assessment of whether main functions of the software appear to work correctly.} \tn % Row Count 13 (+ 7) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{3. {\bf{Unit Testing}} is a type of software testing where individual units or components of a software are tested. The purpose is to validate that each unit of the software code performs as expected.} \tn % Row Count 17 (+ 4) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{4. {\bf{Integration Testing}} is defined as a type of testing where software modules are integrated logically and tested as a group. The purpose of this level of testing is to expose defects in the interaction between these software modules when they are integrated.} \tn % Row Count 23 (+ 6) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{5. {\bf{Functional Testing}} is a type of software testing that validates the software system against the functional \seqsplit{requirements/specifications}. The purpose of Functional tests is to test each function of the software application, by providing appropriate input, verifying the output against the Functional requirements.} \tn % Row Count 30 (+ 7) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{p{0.8 cm} p{0.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Testing Types (cont)}} \tn % Row 5 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{6. {\bf{Regression testing}} is re-running functional and non-functional tests to ensure that previously developed and tested software still performs after a change.} \tn % Row Count 4 (+ 4) % Row 6 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{7.{\bf{System Testing}} is testing conducted on a complete integrated system to evaluate the system's compliance with its specified requirements.} \tn % Row Count 7 (+ 3) % Row 7 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{8. {\bf{Load Testing}} is a non-functional software testing process in which the performance of software application is tested under a specific expected load.} \tn % Row Count 11 (+ 4) % Row 8 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{9. {\bf{Performance Testing}} is is a testing measure that evaluates the speed, responsiveness and stability of a computer, network, software program or device under a workload.} \tn % Row Count 15 (+ 4) % Row 9 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{10. {\bf{User Interface Testing}} is a testing technique used to identify the presence of defects is a product/software under test by using Graphical user interface {[}GUI{]}.} \tn % Row Count 19 (+ 4) % Row 10 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{11. {\bf{Usability Testing}} is the practice of testing how easy a design is to use with a group of representative users.} \tn % Row Count 22 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{0.8 cm} p{0.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Testing Documents}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{1. {\bf{STP}} is the Software Test Plan document describes plans for qualification testing of Computer Software Configuration Items (CSCIs) and software systems. It describes the software test environment to be used for the testing, identifies the tests to be performed, and provides schedules for test activities.} \tn % Row Count 7 (+ 7) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{2. {\bf{STD}} is the The Software Test Description (STD) document describes the test preparations, test cases, and test procedures to be used to perform qualification testing of the Computer Software Configuration Item (CSCI) capabilities specified in the Software Requirements Specification (SRS) and Software Design Description (SDD) documents.} \tn % Row Count 14 (+ 7) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{3. {\bf{STR}} is the Software Test Report is a record of the qualification testing performed on a Computer Software Configuration Item (CSCI), a software system or subsystem, or other software-related item.} \tn % Row Count 19 (+ 5) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{4. {\bf{ATP}} is the establishes the acceptance test plan used by the acceptance test team to plan, execute, and document acceptance testing. It describes the scope of the work performed and the approach taken to execute the tests created to validate that the system performs as required.} \tn % Row Count 25 (+ 6) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{5. {\bf{RTM}} is a requirements traceability matrix document that demonstrates the relationship between requirements and other artifacts. It's used to prove that requirements have been fulfilled. And it typically documents requirements, tests, test results, and issues.} \tn % Row Count 31 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{p{0.8 cm} p{0.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{AGILE, V MODEL, WATERFALL, SPIRAL}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{{\bf{Agile}}- the development model of software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project. The Agile approach meaning as the name refers implies something to do very quickly.} \tn % Row Count 6 (+ 6) % Row 1 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{{\bf{Agile Advantages}}} \tn % Row Count 7 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{1.Saving time and money. 2.Focus more on the application rather than documenting things. 3.Daily meetings and discussions for the project following an Agile model can help to determine the issues well in advance and work on them accordingly. 4.Requirements changing even in the late stage of development .5.The end result is high-quality software in the least possible time duration and satisfied customers.} \tn % Row Count 16 (+ 9) % Row 3 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{{\bf{Agile Disadvantages}}} \tn % Row Count 17 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{1.The project can easily get taken off track if the customer representative is not clear what final outcome that they want. 2.There is a lack of emphasis on necessary designing and documentation. 3. User involvement is often a potential problem especially in big and complex projects.4. Agile processes are really only applicable to products where reliability is not very critical.} \tn % Row Count 25 (+ 8) % Row 5 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{{\bf{Waterfall}} The original SDLC model was the Waterfall model. This model is very simple to understand and very well known in the development process. The main concept of this model is that only when one development level is completed will the next one be initiated.} \tn % Row Count 31 (+ 6) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{p{0.8 cm} p{0.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{AGILE, V MODEL, WATERFALL, SPIRAL (cont)}} \tn % Row 6 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{{\bf{Waterfall Advantages}}} \tn % Row Count 1 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{1.The Waterfall method is also well known by software developers 2.The Waterfall Model works well for smaller projects where requirements are very well understood 3.Cost-effectiveness: Time spent early in the software production cycle can lead to the greater economy at later stages.} \tn % Row Count 7 (+ 6) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{{\bf{Waterfall Disadvantages}}} \tn % Row Count 8 (+ 1) % Row 9 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{1.The crucial disadvantage of this model is that testing is understood as a "one-time" action at the end of the project just before the release of the operation. The test is seen as a "final inspection", an analogy to a manufacturing inspection before handing over the product to the customer. 2. High amounts of risk and uncertainty 3.Inflexible – Poor model for complex and object-oriented projects.} \tn % Row Count 17 (+ 9) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{{\bf{V-Model}} This is the most familiar model in the development process. The model has the form of a "V". The main idea in the V-Model is that development tasks and testing tasks are corresponding activities of equal importance, which is symbolised by the two sides of the "V"} \tn % Row Count 23 (+ 6) % Row 11 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{{\bf{V-Model Advantages}}} \tn % Row Count 24 (+ 1) % Row 12 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{1.Due to the fact that in the V-Model defects are being repaired a short time after they have been detected, it is cheaper to fix them. 2.The model has a reputation for a very good base for the partitioning of testing. All the participants in the development of a system have a responsibility for quality assurance and testing. 3.Testing activities like requirements, test designing happen well before coding. This fact saves a lot of time and also helps in developing a very good understanding of the project at the initial stage. 4.The objectives of testing are changing, and specific for each test level.} \tn % Row Count 37 (+ 13) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{p{0.8 cm} p{0.8 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{AGILE, V MODEL, WATERFALL, SPIRAL (cont)}} \tn % Row 13 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{{\bf{V-Model Disadvantages}}} \tn % Row Count 1 (+ 1) % Row 14 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{1.The V-Model is very rigid and the least flexible, which means that if one of the requirements is changing, the tester should update the test documentation as a whole. 2. This model applicable mostly to big companies because the model needs a lot of resources. 3.The amount and the intensity of the test levels should be tailored according to the specific needs of the project.} \tn % Row Count 9 (+ 8) % Row 15 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{{\bf{Spiral}} model is mostly used in large projects.In a spiral model, testing must be adapted to such development models, and continuous integration testing and regression testing are necessary. The tests should be a reusable test case for every component and increment, and it should be reused and updated for every additional increment.} \tn % Row Count 16 (+ 7) % Row 16 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{{\bf{Spiral Advantages}}} \tn % Row Count 17 (+ 1) % Row 17 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{1.Spiral Life Cycle Model is a very flexible model. Development phases can be determined by the project manager, according to the complexity of the project. 2.Estimates (i.e. budget, schedule, etc.) get more realistic as work progresses because important issues are discovered earlier. 3.Good for large and mission-critical projects. 4.The software is produced early in the software lifecycle.} \tn % Row Count 25 (+ 8) % Row 18 \SetRowColor{white} \mymulticolumn{2}{x{8.4cm}}{{\bf{Spiral Disadvantages}}} \tn % Row Count 26 (+ 1) % Row 19 \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{1. Doesn't work well for smaller projects. 2.Evaluating the risks involved in the project can shoot up the cost and it may be higher than the cost of building the system. 3.The spiral model is much customized for every project. 4.Risk analysis requires highly specific expertise.} \tn % Row Count 32 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}