Advertisement
Guest User

11.Компонентно тестване

a guest
Feb 2nd, 2016
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.53 KB | None | 0 0
  1. Unit testing
  2. Чрез unit тестовете тестваме само отделни компоненти от програмата (отделни методи). Чрез unit тестовете не се тества цялата функционалност на един клас или на самата програма (end-to-end testing)
  3.  
  4. Unit тестове – пишат се от самия програмист (не от QA)
  5. Обикновено се пишат в отделни проекти
  6. За да се пишат unit тестове е нужен framework. Във Visual Studio има вграден framework за unit тестове – Visual Studio Team Test
  7.  
  8. Какво трябва да тестваме: трябва да се тестват public класовете, public методите, понякога може да тестваме и setter-ите
  9.  
  10. Unit tests:
  11. - Dramatically decrease the number of defects in the code
  12. - Are good documentation
  13. - Allow easier refactoring
  14.  
  15. Unit test-ването, конкретно в C#, се извършва чрез assertion-и
  16.  
  17. Добре е един тест метод да тества едно нещо, а не няколко неща, т.е. да има 5, 10 или повече Assert-а, който тестват различни по характер неща. Един поблем, който може да възникне в такъв случай е, че няма да можем да намерим правилно име на тест метода, и друг проблем е, че ако първия поред Assert не се изпълни, до другите Assert-и след него въобще няма да се стигне
  18.  
  19. Всеки един testing framework работи с атрибути, така че атрибутите трябва да се слагат над съответния клас, метод и др.
  20.  
  21. Голяма част от времето отнето за даден софтуер (около 50%) отива за тестване
  22.  
  23. Example of VSTT assertion:
  24. Assert.AreEqual(expectedValue, actualValue, "Error message.");
  25. Examples:
  26. AreEqual(expected_value, actual_value [,message])
  27.  Comparing values for equality
  28. AreSame(expected_object, actual_object [,message])
  29.  Comparing objects (by reference)
  30. IsNull(object [,message])
  31. IsNotNull(object [,message])
  32.  Checking for null value
  33.  
  34. Checking conditions:
  35. IsTrue(condition)
  36. IsFalse(condition)
  37.  
  38. The correct way to write unit tests is to use “the 3A pattern”
  39.  Arrange all necessary preconditions and inputs
  40.  Act on the object or method under test
  41.  Assert that the expected results have occurred
  42.  
  43. Нормално е след променяне на дадена функционалност на нашия код, някой тест, който сме написали преди това, да се счупи. В този случай не означава, че програмата ни е грешна, а че самия unit тест ни е грешен, и трябва или да променим или да изтрием конкретния unit тест
  44.  
  45. Когато даден Assert не е достатъчно показателен за това какво точно прави, е добре да подадем достатъчно обяснително съобщение като параметър на този Assert
  46.  
  47. Reflection – изследване на кода, който пишем чрез друг код
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement