{"id":98,"date":"2009-05-22T01:01:04","date_gmt":"2009-05-22T06:01:04","guid":{"rendered":"http:\/\/24.183.55.167:8101\/wordpress\/?p=98"},"modified":"2012-08-14T20:55:08","modified_gmt":"2012-08-15T01:55:08","slug":"thoughts-on-quality-assurance-on-software-testing","status":"publish","type":"post","link":"https:\/\/icesquare.com\/wordpress\/thoughts-on-quality-assurance-on-software-testing\/","title":{"rendered":"Thoughts on Quality Assurance on Software Testing"},"content":{"rendered":"<p>Recently I developed several projects using Ruby on Rails.\u00a0 One of the cool features of it is the built-in test tools. With this amazing tool, I can test my web page such as data validation in few seconds by myself. It reminds me the time how a software was tested in the company I worked for previously.<\/p>\n<p>In the formal company I worked for, they had a very well Quality Assurance Team for testing the software functionality(The ratio of developer to QA is about 3:2). Usually we (developer) need to come up many test cases for them (e.g., testing the data field with positive, negative or invalid value) because the QA team does not have any technical background. Other than that, the QA team would only focus on the GUI level testing, such as whether this control is aligned with the label or not etc. One of the key components that has been ignored is the stress test.<\/p>\n<p>I still remember that I developed a resource-consuming feature, and I was worrying about its impact of overall performance when many uses are using this feature at the same time. So I talked with my QA and see what he think. Initially I expected that he would run a stress test (e.g., simulating 100 thousands of users to use the feature at the same time), and guess what his answer?<\/p>\n<blockquote><p>I can schedule an appointment with the rest of the QA team, we can sit down together and try to use your feature at the same time.<\/p><\/blockquote>\n<p>No, this is not a joke. In fact, about a month later, someone from other application team really does something fancy about it. They sent out a mass email and ask people to sign up. They end up having about 900 uses to use the application at the same time. <strong>That&#8217;s about 1\/3 of the whole population in the company!<\/strong><\/p>\n<p>I think it is kind of stupid to ask 1\/3 of the whole company to do a simple test, which can be done using computer automatically! Think about how expensive is the test:<\/p>\n<blockquote><p>900 people x $40\/hr x 2 hour = $72,000<\/p><\/blockquote>\n<p>With this amount of money, they can probably hire one to two QAs to work on the test for a year!<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently I developed several projects using Ruby on Rails.\u00a0 One of the cool features of it is the built-in test tools. With this amazing tool, I can test my web <a class=\"more-link\" href=\"https:\/\/icesquare.com\/wordpress\/thoughts-on-quality-assurance-on-software-testing\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[6],"tags":[24,26,23,25],"class_list":["post-98","post","type-post","status-publish","format-standard","hentry","category-technology","tag-qa","tag-quality-control","tag-ruby-on-rails","tag-software-testing"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p1sqzr-1A","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":328,"url":"https:\/\/icesquare.com\/wordpress\/ie-is-fxxking-but-it-is-not-an-excuse\/","url_meta":{"origin":98,"position":0},"title":"IE is &#8220;fxxking&#8221;, but it is not an excuse to leave bug in the codes","author":"Derrick","date":"October 29, 2009","format":false,"excerpt":"Today, my co-worker found that the web-application he developed worked only in Firefox, and it didn't work in Internet Explorer(IE). He immediately asked me if we should ignore the IE users or not. I know that he was working on JQuery(Javascript). It is not surprised that IE does not support\u2026","rel":"","context":"In &quot;Programming Problems&quot;","block_context":{"text":"Programming Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/programming-problems\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":383,"url":"https:\/\/icesquare.com\/wordpress\/ruby-on-rails-gives-no-surprise-in-the-latest-version\/","url_meta":{"origin":98,"position":1},"title":"Ruby On Rails gives no &#8220;surprise&#8221; in the latest version","author":"Derrick","date":"November 17, 2009","format":false,"excerpt":"I haven't upgraded my Ruby On Rails and related Ruby gems for 5 months. One of the reasons is that Rails development team likes to break the backward compatibility, such as: NameError: uninitialized constant ApplicationController To avoid this kind of surprises, I tend to stick with a working, stable version.\u2026","rel":"","context":"In &quot;Programming Problems&quot;","block_context":{"text":"Programming Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/programming-problems\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":565,"url":"https:\/\/icesquare.com\/wordpress\/enough-rails-surprise-why-i-leave-ruby-on-rails\/","url_meta":{"origin":98,"position":2},"title":"Enough &#8220;Rails Surprise&#8221;! Goodbye Ruby On Rails.","author":"Derrick","date":"January 12, 2010","format":false,"excerpt":"Couple months ago, I published an article about Ruby On Rails. I was wrong. The idea of Ruby On Rails is really good. You can create a very simple database-driven web application (i.e., User can add, browse, remove and search records) in less than half an hour. There is no\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":257,"url":"https:\/\/icesquare.com\/wordpress\/interviewing-a-software-engineer-developer-programmer\/","url_meta":{"origin":98,"position":3},"title":"Interviewing a software engineer \/ developer \/ programmer","author":"Derrick","date":"August 20, 2009","format":false,"excerpt":"I am going to have a face-to-face interview with a candidate of a PHP programmer position this afternoon. I was told to prepare some technical questions for the interview. If a candidate earns an face-to-face interview opportunity, that means his resume should have a very good match to the position\u2026","rel":"","context":"In &quot;Business&quot;","block_context":{"text":"Business","link":"https:\/\/icesquare.com\/wordpress\/category\/business\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":62,"url":"https:\/\/icesquare.com\/wordpress\/shit-is-priced-differently-in-different-region\/","url_meta":{"origin":98,"position":4},"title":"Shit is priced differently in different region.","author":"Derrick","date":"May 21, 2009","format":false,"excerpt":"I was experimenting the salary search engine at Indeed.com today, and I found some interesting result... \"The salaries of Shit in different locations in US\" Here is the result: Or you can try to click here to repeat the test.... What makes me couldn't stop laughing is the statistical conclusion\u2026","rel":"","context":"In &quot;Fun Stuffs&quot;","block_context":{"text":"Fun Stuffs","link":"https:\/\/icesquare.com\/wordpress\/category\/fun\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":110,"url":"https:\/\/icesquare.com\/wordpress\/tokyo-cabinet-is-31-times-faster-than-mysql\/","url_meta":{"origin":98,"position":5},"title":"Tokyo Cabinet is 31 times faster than MySQL!!!","author":"Derrick","date":"May 23, 2009","format":false,"excerpt":"Today I was comparing the performance of Tokyo Cabinet, MySQL and Memcached using PHP. The result of Tokyo Cabinet is really impressive! (Note that these results are generated from my computer. If you perform your own benchmarks, then you might find different results due to different system configurations. In fact,\u2026","rel":"","context":"In &quot;Programming Problems&quot;","block_context":{"text":"Programming Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/programming-problems\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":11,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/98\/revisions"}],"predecessor-version":[{"id":2946,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/98\/revisions\/2946"}],"wp:attachment":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/media?parent=98"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/categories?post=98"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/tags?post=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}