February 3, 2011

A Guide Through the Layers of Automated Testing

 

With automated testing comes many different layers of testing. For new developers this can be a bit overwhelming. Take for example the other day at work when a developer came to me and asked what type of test should they write for a code change they did.

This question got me thinking, with all the different layers of testing out there, how does someone new to automated testing know what tests to create?

So I decided to sit down lay out what the different layers of testing are and when you should use them. This isn’t a complete list, however I feel this is a good base for a new developer to get started in automated testing.

Test Types

  • Unit test – Testing an individual method’s logic, by removing all outside dependencies. You would use frameworks like NUnit and VS Unit Testing Framework to accomplish this.
  • Integration Test – Testing two or more methods together, testing the dependencies between the methods. You would use frameworks like NUnit and VS Unit Testing Framework to accomplish this.
  • Functional Test – Testing a scenario end-to-end from the presenter to the database and back again. This type of test tests the entire application just below the GUI. You would use frameworks like Cucumber and MSpec to accomplish this.
  • GUI Test – Testing the user interface of a form. GUI test should just test the GUI, not the underlying business logic. You would use frameworks like Selenium and Coded UI Tests to accomplish this.

When to Use

Here are some scenarios you may encounter and what tests you would use.

Method Change in Service Data Access Layer

  • Unit Test - need to be written against the method
  • Integration Test (Optional) – written to verify that the data coming back from the database is valid

Method Change in Data Access Layer

  • Unit Test – need to be written against the method
  • Integration Test – written from the data access layer to the service layer and below

Method Change in a Presenter (MVP model)

  • Unit Test – need to be written against the method.
  • Integration Test – written from the method to the data access layer and below.
  • Functional Test (Optional) - If the method is in a presenter, then a cucumber test will need to be written that will do an end to end test from the method.

Change to a Form (Strictly a UI change)

  • GUI Test – against the change.

Conclusion

Deciding to begin testing you code is a very rewarding experience. It can also be a very overwhelming experience. Armed with this information I wish you well on your wonderful journey into automated testing.

110 comments:

  1. If you're new to testing, the attitudes are as important as the nuts and bolts of testing.

    When you make code changes or add code ask yourself, "How do I prove that this works as expected?" and "How do I prove that this didn't break anything else?"

    Testing also saves time over the life of a project. It's worth it.

    ReplyDelete
    Replies
    1. I have read your blog its very attractive and impressive. I like it your blog.

      Dot Net Training in Chennai Dot Net Training in Chennai .Net Online Training .Net Online Training Dot Net Training in Chennai

      Dot Net Online Training .Net Online Training ASP.NET Online Training ASP.NET Online Training

      Delete
  2. Excellent sharing Thanks for share i am sure its must help me. thanks for doing this.

    Scrum Process

    ReplyDelete
  3. Thanks for your informative article on software testing. Your post helped me to understand the future and career prospects in software testing. Keep on updating your blog with such awesome article. Best software testing training institute in Chennai | Software Testing Training in Chennai | Software testing course in Chennai

    ReplyDelete
    Replies
    1. I have read your blog its very attractive and impressive. I like it your blog.


      SEO Services in India SEO Company in India SEO Company in India

      Guaranteed SEO services Guaranteed SEO

      Delete
  4. Nice information about the load testing!!! I prefer Loadrunner automation testing tool to validate the performance of software application/system under actual load. Loadrunner Training in Chennai | Loadrunner training institute in Chennai

    ReplyDelete
  5. I am happy to found such helpful and fascinating post that is written in well manner.
    Regards..
    QTP Training in Chennai | Software Testing Training in Chennai

    ReplyDelete
  6. Your post helped me to understand the future and career prospects in software testing. best fire and safety college in chennai |nebosh course in India

    ReplyDelete
  7. Your blog is awesome..You have clearly explained about it ...Its very useful for me to know about new things..Keep on blogging..
    Software testing training in chennai

    ReplyDelete
  8. Really i enjoyed very much. And this may helpful for lot of peoples. So you are provided such a nice and great article within this.

    SAP Training in Chennai

    ReplyDelete


  9. First is to thank you for all this informative posts you give us for free; i bet all of us are happy.
    Such a great idea of yours! You have been a big help for me. Thanks a lot. more post for interesting topic. Great!

    SAP training in Chennai

    ReplyDelete
  10. Testing now a days has become as importnant as developing of an application. With the help of testing, we can find out the potential bugs which would affect the application. Fixing this at a very early stage would help the application to run without any problem.
    Software testing training in Chennai | Software testing training institute in Chennai | Software testing courses in Chennai

    ReplyDelete
  11. First is to thank you for all this informative posts you give us for free; i bet all of us are happy.
    Such a great idea of yours! You have been a big help for me. Thanks a lot. more post for interesting topic. Great!

    SAP training in Chennai

    ReplyDelete
  12. very nice information providing on blog
    http://hadooptraininginhyderabad.co.in/salesforce-training-in-hyderabad/

    ReplyDelete
  13. Really cool post, highly informative and professionally written and I am glad to be a visitor of this perfect blog, thank you for this rare info! , Regards, servicenow training in hyderabad

    ReplyDelete
  14. I am a regular reader of your blog. the blog is very interesting and will be much useful for us.
    Seo Company in Chennai

    ReplyDelete

  15. Great and useful article. Creating content regularly is very tough. Your points are motivated me to move on.


    SEO Company in Chennai

    ReplyDelete
  16. This comment has been removed by the author.

    ReplyDelete
  17. We should implement that in practically then only we can understand that exact thing clearly, but it’s no need to do it, because you have explained the concepts very well.
    massivetranscript.com/audio-transcription.php

    ReplyDelete
  18. WOW! Really Nice Post! I personally believe that to maintain the standard of a blog all the hacks mentioned above are important. All points discussed were worth reading and I’ll surely work with them all one by one.
    Commercial Voice Over

    ReplyDelete
  19. I think testing is very important. As Jonathan said in the first comment that testing saves time. It's true. I'm working on the new project now and without testing by this guys http://www.nixsolutions.com/services/quality-assurance-services/ I won't add new items to it.

    ReplyDelete
  20. Thanks for sharing such a nice article. It is really useful to me and all people. One think in my mind came while reading that it is not wasting of time.
    High Quality Online Cheap Essay Writers

    ReplyDelete
  21. High Quality Video Captioning Services Thanks for the post and it was wonderful to have a look over this article.

    ReplyDelete
  22. Translation stories usually are deployed for several customers in raising volume of vocabulary twos, from time to time for particular product lines or simply Pennsylvania Translation Rates with a undertaking and also and challenge base. TM lets task remembrances for being swapped or maybe contributed, lowering the reliance upon distinct translators. Huge, well as well as retained TMs make it possible for Bedford Translations to supply a steady merchandise, helping enhance extended purchaser associations and also locking down actually as well as cherished translation resources for future years.

    ReplyDelete
  23. Whether you are a substantial international manufacturer or a small enterprise trying to gain Virginia Translation their footing in the marketplace, correct translation normally takes that you' ways.

    ReplyDelete
  24. ELearning Voice Overs Test modulating the voice in a variety of kinds. Study loudly, understand generally, study together with fury, understand by using sincerity, examine along with excitement, examine by using sarcasm and see the visible difference. Do not file in your house on your hard drive. You happen to be aspiring to become professional voice actor or actress and also your voice biological materials must audio Skilled.

    ReplyDelete
  25. Automation selenium engineers are in demand nowadays if you are strong in coding means that you will get the opportunity. Fita will guide you to get a job in automation field and it has a great scope in future.
    Thanks,
    Selenium Training institute in Chennai | Selenium Training in Chennai | Selenium Course in Chennai

    ReplyDelete
  26. Testing is the fundamental one for working up the application. Programming testing is required to raise the blemishes and goofs for development phrases. It offers a good work for skilled specialists in programming testing field.
    Regards,
    Software Testing courses in chennai | Testing Training chennai

    ReplyDelete
  27. Wow!!! this is wonderful and excellent photos to share and this was amazing

    ReplyDelete
  28. Excellent blog, I wish to share your post with my folks circle. It’s really helped me a lot, so keep sharing post like this..
    Selenium Course in Chennai | Best Selenium training institute in Chennai|Selenium Training in Chennai|selenium testing training in chennai

    ReplyDelete
  29. The blog was absolutely fantastic! Lot of great information which was helpful
    Dot net Training institute in velachery

    ReplyDelete
  30. This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free. Textile Testing Equipment

    ReplyDelete
  31. I have been reading out a lot of your articles.
    I will certainly bookmark your Blog.
    Free Devops Training
    Hybris Training
    Emc San Training

    ReplyDelete
  32. Great Post!This Article Helped me to Get Knowledge in Testing Field.

    ReplyDelete
  33. thanks for shared wonderful information of giving best information.its more useful and more helpful. great doing keep sharing
    SEO Company in Chennai

    ReplyDelete
  34. Excellent sharing. Testing is a wonderful field for IT peoples. Want to learn Selenium Training reach GangBoard. Hadoop Online Training

    ReplyDelete
  35. You have done really great job. Your blog is very unique and informative. Thanks. Devops Online Training | Data Science Online Training

    ReplyDelete
  36. Nice sharing. R is a language and environment for statistical computing and graphics. Want to make a career in R Programming. Learn R Programming Online Training course @ GangBoard. We are the best provider of online training on evergreen technologies.

    ReplyDelete
  37. Nice post. I learn something more challenging on different blogs everyday. It will always be stimulating to read content from other writers and practice a little. Thanks for sharing.

    ReplyDelete
  38. I'm very happy for this blog site my comment post. We create this blog content is really interesting and use valuable information news.Well job, it's grateful knowledge informative.
    Selenium Training in Chennai

    ReplyDelete

  39. Thank you for sharing such a nice and interesting blog with us. Hope it might be much useful for us. keep on updating...!!
    seo company in india
    digital marketing company in india

    ReplyDelete
  40. Excellent post. I have read your blog it's very interesting and informative. Keep sharing.
    erp in chennai

    ReplyDelete
  41. Thank you for this valuable information. Get your business to the next level in simple steps. We provides lowest price of erp Software for our clients cloud erp in Chennai | enterprise resource planning in chennai

    ReplyDelete
  42. Your blog was very impressive, I am inspired with your blog. Thanks for sharing such a nice blog. Web Designing Training Institute in Chennai | Web Designing Training Institute in Velachery.

    ReplyDelete
  43. Its really great post I think this is interesting articles and Business ethics for new information's, and i like that kind of information.So the i like that post,because all of given information was very excellent.devops openings in hyderabad

    ReplyDelete
  44. Excellent Blog very imperative good content, this article is useful to beginners and real time Employees. DevOps Online Training

    ReplyDelete

  45. You have provided an nice article, Thank you very much for this one. And i hope this will be useful for many people.. and i am waiting for your next post keep on updating these kinds of knowledgeable things...

    Android App Development Company
    iOS App Development Company

    ReplyDelete
  46. Nice article which i have read, Good and very informative article, thanks for sharing your valuable information.
    Software Testing Training in velachery | Software Testing Training institute in velachery

    ReplyDelete
  47. Pretty article! I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing..
    Fitness SMS
    Fitness Text
    Salon SMS
    Salon Text
    Investor Relation SMS
    Investor Relation Text

    ReplyDelete
  48. Good and nice blog post, thanks for sharing your information.. it is very useful to me.. keep rocks and updating..

    Software Testing Training in chennai

    ReplyDelete
  49. I like the idea of preparing myself for an interview and this one give an insight that what may be facing and it is a step ahead in preparing for it. Automated Web Application Monitoring

    ReplyDelete
  50. Good and very informative article, thanks for sharing your valuable information.
    Spoken english Training in Bangalore

    ReplyDelete
  51. Everyone wants to get unique place in the IT industry’s for that you need to upgrade your skills, your blog helps me improvise my skill set to get good career, keep sharing your thoughts with us.

    selenium training in bangalore|

    ReplyDelete
  52. Are you searching for SAP Hybris Online Training from certified professional expert ?

    ReplyDelete
  53. It is amazing and wonderful to visit your site.Thanks for sharing this information,this is useful to me...
    Best VLSI Project Center in Chennai | VLSI Project Center in Velachery

    ReplyDelete
  54. Your new valuable key points imply much a person like me and extremely more to my office workers. With thanks; from every one of us.
    devops training in bangalore

    devops training in bangalore

    ReplyDelete
  55. i am waiting for your next post keep on updating these kinds of knowledgeable things.

    ReplyDelete
  56. You truly did more than visitors’ expectations. Thank you for rendering these helpful, trusted, edifying and also cool thoughts on the topic.
    Android Project Center in Chennai | Android Project Center in Velachery

    ReplyDelete
  57. You truly did more than visitors’ expectations. Thank you for rendering these helpful, trusted, edifying and also cool thoughts on the topic.
    MCA Project Center in Chennai | MCA Project Center in Velachery

    ReplyDelete
  58. It was an intensive program but fruitful more than I expected. I have improved myself a lot. We couldn't ask for a better experience as such .
    Graphic designing Training Institute in Chennai | Photoshop Training Institute in Chennai | Corel Draw Training Institute in Chennai

    ReplyDelete
  59. I have to voice my passion for your kindness giving support to those people that should have guidance on this important matter.
    big data training in Chennai

    ReplyDelete
  60. I feel really happy to have seen your webpage and look forward to so many more entertaining times reading here. Thanks once more for all the details.
    hadoop-training-in-bangalore

    ReplyDelete
  61. I have read your blog. Your information is really useful for beginner. Selenium Training in Chennai
    informations provided here are unique and easy to understandThanks for this useful infromation.
    Oracle Training in Chennai

    ReplyDelete
  62. Wow!!..Pretty article with valuable information..keep sharing your creative knowledge with helpful post.
    Power System Project Center in Chennai | Power System Project Center in Velachery

    ReplyDelete
  63. Very good informative article. Thanks for sharing such nice article, keep on up dating such good articles.
    Austere Technologies is a Best Cloud Solution services company. Please visit www.austeretech.comfor more information

    ReplyDelete
  64. Your Blog is really amazing with impressive and unique content..keep sharing..
    MatLab Project Center in Chennai | MatLab Project Center in Velachery

    ReplyDelete
  65. VERY INTERESTING POST, VERY GLAD TO SEE YOUR POST. THANKS FOR SHARING.

    CLOUD SERVICES | MASSIL TECHNOLOGIES

    ReplyDelete
  66. HI, THANKS FOR SHARING GOOD INFORMATIVE POST ABOUT AUTOMATED TESTING.

    NO.1 IOT Services | INTERNET OF THINGS

    ReplyDelete
  67. REALLY VERY EXCELLENT INFORMATION. I AM VERY GLAD TO SEE YOUR BLOG FOR THIS INFORMATION. THANKS FOR SHARING. KEEP UPDATING.

    NO.1 Mobile APPilication DEVELOPMENT SERVICES | MASSIL TECHNOLOGIES

    ReplyDelete
  68. Your paintings is exquisite and i value you and leaping for some greater academic posts. a good deal obliged to you for sharing outstanding information to us.buy gmod

    ReplyDelete
  69. Excellent Informative blog, getting good information by reading this blog. Thanks for sharing.

    NO.1 APP DEVELOPMENT SERVICES | MASSIL TECHNOLOGIES

    ReplyDelete
  70. Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you..
    white label website builder

    mobile website builder

    ReplyDelete
  71. A successful blog will have content written with the audience in mind and provide beneficial and valuable information. If you can really connect and help with a problem or issue that your reader can relate to, he or she will continue to come back to read more.Formal Shoes

    ReplyDelete
  72. Those guidelines additionally worked to become a good way to recognize that other people online have the identical fervor like mine to grasp great deal more around this condition. python training in Chennai

    ReplyDelete
  73. Appreciation for really being thoughtful and also for deciding on
    certain marvelous guides most people really want to be aware of.


    white label website builder

    ReplyDelete
  74. But when a company or an individual needs to hire one, the goal should be to hire experienced and reliable Mobile App Developers who can provide quality work promptly.Edknt Media

    ReplyDelete
  75. Thanks for the useful information of software testing courses, give more updates on software testing development, First time I visit your blog really nice, I bookmark your blog here after a daily visit. Learn software testing course in Chennai

    ReplyDelete
  76. This is the best place where we can learn good collection of information, thanks much for creating and sharing such a wonderful article...
    Best Online Software Training Institute | Automation Anywhere Training

    ReplyDelete
  77. Really I enjoy your site with effective and useful information. It is included very nice post with a lot of our resources.thanks for share. i enjoy this post. Agile testing platform

    ReplyDelete
  78. I am very happy to discover your post as it will become on top in my collection of favorite blogs to visit. https://fyitester.com/geotextile-testing-equipment/

    ReplyDelete