{"id":1053,"date":"2018-04-04T19:29:17","date_gmt":"2018-04-04T17:29:17","guid":{"rendered":"https:\/\/www.thediar.com\/?p=1053"},"modified":"2019-07-09T19:21:03","modified_gmt":"2019-07-09T17:21:03","slug":"why-do-online-testing-and-what-kind-of-testing-tools-you-can-use","status":"publish","type":"post","link":"https:\/\/www.thediar.com\/en\/blog\/why-do-online-testing-and-what-kind-of-testing-tools-you-can-use\/","title":{"rendered":"Why do online testing and what kind of testing tools you can use"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">The digital environment provides businesses with a very convenient opportunity to quickly evaluate ideas using controlled experiments. The aim is to carry out experiments using the scientific method: observing the effect of the changes in the behaviour or opinion of the users that we assign randomly between different variations \/ combinations.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Why do online testing?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Unlike other methodologies, such as post-hoc analysis or analysis of time series (quasi-experimentation), controlled experiments evaluate cause-effect relationships.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The simplest experiment would consist in the random assignment of the users that visit a page between 2 variants: (A) control, with the original version and (B) alternative variation, the new version that is evaluated against the control.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The evaluation uses performance metrics that are directly or indirectly related to data on user behavior and opinion. Statistical tests evaluate the probability of not finding evidence of significant differences between the data collected from the variation versus the original variation. The use of secondary metrics and user segmentation of each group can help us understand the results and refine and explore new ideas.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Web teams that take into account the behavior and opinion of users are more likely to conduct successful experiments. With a data-driven approach we can report on the subjective results of our experiments and go beyond the opinion of the expert or Highest Paid Person&#8217;s Opinion (HiPPO).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When a company already has a testing tool, the cost of doing one more test is very low. In this sense, putting a testing tool at your disposal will enhance the innovation capabilities of your company and optimize business results.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A losing test is more interesting than an inconclusive test. Finding alternative variations of ideas that could be harmful allows you to analyze the results and refine the idea to make it work.<\/span><\/p>\n<blockquote><p><span style=\"font-weight: 400;\">&#8220;The best way to have a good idea, is to have many ideas.&#8221;<\/span><\/p><\/blockquote>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400;\">Important concepts in testing<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">We use the type of testing tool that we use, we need to have clear the following concepts when we perform tests:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Main objective:<\/strong> It is the main metric or key performance indicator with which the achievement of the objectives of the experiment will be evaluated. It should not be based on clicks but a result or an &#8220;outcome&#8221;.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Variable:<\/strong> It is the factor that is believed to influence the outcome of the main objective.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Variations:<\/strong> They are the different versions of the variable, including the original version.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Experimental unit:<\/strong> Refers to the entity with which the metrics are calculated for each of the variants. On the web, a user with his userId in a browser cookie is usually the experimental unit. It is important that the user experience a consistent experience throughout the experiment depending on what variation was assigned.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Null hypothesis (H0):<\/strong> Consider that the different variants do not produce differences in the main objective beyond random differences.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Confidence level:<\/strong> The probability of refuting the null hypothesis when in fact it is true.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Statistical power: The probability of detecting difference when it really exists.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Test A\/A:<\/strong> Exercise to evaluate the statistical power of the method of random assignment between two variations equal to the original version.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Standard deviation (Std-Dev):<\/strong> It is a measure that indicates how scattered the data are with respect to the average.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Standard error (Std-Err):<\/strong> It is the estimate of the standard deviation, calculated from an estimate derived from a sample.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\"><strong>Effect:<\/strong> It is the difference of the main objective between the variations. It is useful to give the confidence intervals for the differences between the means of the variations why it gives an idea of \u200b\u200bthe ranges of the effect.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400;\">Types of testing tools<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The testing tools can be classified according to their method of random assignment.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Every testing tool must execute a code to randomly assign users in one variation or another. Then it should be possible to manipulate what is necessary, from the content to the proper functioning of the modules of the platform.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Each method has its advantages and disadvantages.<\/span><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/docs.google.com\/presentation\/d\/e\/2PACX-1vRJHTmBn4tB1EyYpM_0PlfiolfxnLnqmsXhlQPWAMJeYS1JPYLQVA_3zfMFABKuBPgrAFQ6zUvoygj8\/embed?start=false&amp;loop=false&amp;delayms=3000\" width=\"960\" height=\"569\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h3><span style=\"font-weight: 400;\">&#8220;Client-side&#8221; method<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The &#8220;Client-side&#8221; method is the most common method in testing tools.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The developer puts a javascript tag on the web.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When the user visits the page, the user&#8217;s browser makes a request to the servers of the testing tool to assign the user to a variation, if it is not, and obtain the javascript code of the variation assigned to it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The javascript code of the variation is executed and makes the changes at the time of loading the page.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It is an intrusive method, but it is easy to implement.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As a disadvantage, the assignment of the user is done during the loading of the page itself and this may delay it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It does not allow to easily test those sites with complex dynamic implementations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The end user easily realizes that he is being tested with the testing tool.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The &#8220;Client-side&#8221; method is recommended for design experiments and static content.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Example: <a href=\"https:\/\/www.thediar.com\/en\/what-we-do\/digital-analytics-and-cro\/vwo\/\">VWO<\/a>, <a href=\"https:\/\/www.thediar.com\/es\/blog\/como-hacer-un-test-ab-en-convert-experiments\/\">Convert<\/a>,\u00a0 <a href=\"https:\/\/www.thediar.com\/es\/what-we-do\/digital-analytics-and-cro\/\">Google Optimize<\/a>, <a href=\"https:\/\/www.optimizely.com\/products\/full-stack\/\">Optimizely X<\/a>, <a href=\"https:\/\/www.oracle.com\/marketingcloud\/products\/testing-and-optimization\/index.html\">Oracle Maxymiser<\/a>, <a href=\"https:\/\/www.monetate.com\/\">Monetate<\/a>, etc.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">&#8220;Server-side&#8221; method<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The &#8220;Server-side&#8221; method refers to the inclusion of code in the application itself to be able to produce different experiences for users assigned in one variation or in another.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The code will use an API to determine the user&#8217;s assignment at those points where the application should work differently for one variation or another.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It is an intrusive method, and may require significant changes in the application.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As an advantage, it is possible to test everything at the point where it is necessary and transparent to the user.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Initial implementation requires development effort and will be complex if the application is complex.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Each test requires code changes by the development team, which introduces a risk of affecting parts of the application not related to the test itself.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The final changes also require programming to eliminate the test code.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The &#8220;Server-side&#8221; method is recommended to integrate the experimentation in your &#8220;content management system&#8221; using a data model for it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once a first test is done, the cost of doing the next one is reduced to a minimum.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A common experiment is to test different blocks of content in different locations on the same page.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Example: <a href=\"https:\/\/www.thediar.com\/en\/what-we-do\/digital-analytics-and-cro\/vwo\/\">VWO<\/a>, <a href=\"https:\/\/www.abtasty.com\/\">AB Tasty<\/a>,\u00a0<a href=\"https:\/\/www.optimizely.com\/products\/full-stack\/\">Optimizely X<\/a>, <a href=\"https:\/\/www.adobe.com\/marketing-cloud\/target.html\">Adobe Target<\/a><\/span>, <a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/analyticsjs\/experiments\">Google Content Experiments<\/a>, etc.<\/p>\n<h3><span style=\"font-weight: 400;\">&#8220;Rewrite page&#8221; method (Proxy)<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The &#8220;page rewrite&#8221; method incorporates a proxy that modifies the HTML before returning it to the user.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The user makes the request to the proxy, the proxy makes the request to the server to get the response and modify it before sending it back to the user including the necessary change.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It is a non-intrusive method since you do not need to make changes in the application itself.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As a disadvantage, the load time of the website is affected since it is the proxy that must return to make the request to the server and make the change in the HTML on the return.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The proy server should be able to manage all website traffic, which will require one or more servers with sufficient power.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It usually has more risk of technical errors, since instead of writing the code directly write the rules of rewriting the html.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It does not allow to easily test the functionality of modules since the modification is done on the HTML already processed.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The &#8220;page rewrite&#8221; method is recommended to minimize the effort of the development team in tests of design or content changes, but it would not be the most appropriate method to test functionalities, major changes or migrations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Example: <a href=\"https:\/\/www.sitespect.com\/\">SiteSpect<\/a>, etc.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">&#8220;Split test&#8221; method<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The method of &#8220;split test&#8221; consists of the distribution of the traffic between each of the variations of the experiment housed in different servers.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The website will use a proxy to take care of directing the user to the server assigned to him.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It is a non-intrusive method since you do not need to make changes in the application itself.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">As a disadvantage, for each variation you need to replicate the application on a different server and it may not make sense in situations with many very small variations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The technical infrastructure is usually expensive and the differences in performance can also be the cause of the difference in results.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The &#8220;Split test&#8221; method is recommended to test pilots, migrations or very important web changes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Example: <a href=\"https:\/\/cloud.google.com\/appengine\/docs\/standard\/python\/splitting-traffic\">Google Cloud Engine<\/a>, <a href=\"https:\/\/www.nginx.com\/blog\/performing-a-b-testing-nginx-plus\/\">nginx<\/a>, etc.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Conclusions<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">What kind of testing tool is the most appropriate for you? What requirements should your testing tool have?\u00a0Want to talk with us? We can help you designing, developing and implementing the tool that you need.<br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>The digital environment provides businesses with a very convenient opportunity to quickly evaluate ideas using controlled experiments. The aim is to carry out experiments using the scientific method: observing the effect of the changes in the behaviour or opinion of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1054,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1053","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","clearfix"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.thediar.com\/wp-content\/uploads\/a-b.jpg?fit=1200%2C765&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p8d1gX-gZ","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/posts\/1053","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/comments?post=1053"}],"version-history":[{"count":8,"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/posts\/1053\/revisions"}],"predecessor-version":[{"id":1902,"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/posts\/1053\/revisions\/1902"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/media\/1054"}],"wp:attachment":[{"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/media?parent=1053"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/categories?post=1053"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.thediar.com\/en\/wp-json\/wp\/v2\/tags?post=1053"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}