Porady testowe Django [zamknięte]

W duchu tego Pytania, chciałbym wiedzieć, czy ktoś ma jakieś wskazówki dotyczące tworzenia użytecznego i" kompletnego " zestawu testów (czy zestaw testów może być kiedykolwiek "kompletny"?) dla webapp Django.

Moja sytuacja: znokautowałem prototyp i teraz pracuję nad dodaniem testów regresyjnych. Osobiście używam django-webtest do większości moich testów z testami URL przy użyciu Django test client.

II nie czuję się komfortowo z moim testem apartament w ogóle. Jestem daleki od testowania pro, więc staram się poprawić w tym względzie. Wszelkie wskazówki - - - Czy mają zastosowanie w mojej sytuacji, czy nie - - - będą bardzo mile widziane.

Author: Community, 2010-12-15

2 answers

Polecam lekturę Django 1.1 Testowanie i debugowanie by Karen M. Tracey . Pierwsze pięć rozdziałów dotyczy testów w Django. W szczególności powinieneś przyjrzeć się rozdziałowi 5, który omawia integrację innych narzędzi testowych. Poniżej znajduje się fragment tego, co obejmuje Rozdział 5:

W tym rozdziale, My:

  • dowiedziałem się, jakie Hooki Django dostarcza do dodawania funkcji testowych
  • widziałem przykład, jak te haki mogą być używane, szczególnie w przypadek dodania raportu pokrycia kodu
  • zbadałem również przykład, w którym używanie tych hooków nie było konieczne-podczas integrowania użycia narzędzia testowego twill do naszych przypadków testowych Django

Oto linki do niektórych narzędzi, które Karen Tracey omawia w rozdziale 5 swojej książki:

Sałata

Możesz również sprawdzić sałatę . Od strona internetowa:

Sałata jest bardzo prostym narzędziem BDD opartym na ogórku.

Dokumentacja sałaty zawiera również sekcję integrującą sałatę z Django .

 14
Author: Matthew Rankin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-13 16:39:46

Testy dostarczają odpowiedzi na (co najmniej ) 4 pytania.

  1. Czy moja realizacja jest prawidłowa? Czy aplikacja pasuje do udokumentowanego lub przynajmniej mentalnego obrazu tego, jak powinna się zachowywać.

  2. Czy moja ostatnia zmiana coś zepsuła?

  3. Czy moja aplikacja jest Bezpieczna? Zarówno od niewinnych użytkowników, jak i przebiegłych ludzi.

  4. Czy wydajność mojej aplikacji jest wystarczająca?

Dla #1 musi być co najmniej jeden test na "funkcję" i prawdopodobnie wiele dla głównych funkcji. Bardzo łatwo jest popełnić błędy pominięcia tutaj, jeśli jesteś zarówno programistą, jak i programistą testowym.

Dla #2 najważniejsza jest dyscyplina pisania zestawów testowych wraz z kodem (i wierne ich uruchamianie).

Dla #3, Upewnij się, że adresy URL dostępne poza normalnymi operacjami kierowania programem zachowują się poprawnie w odniesieniu do uprawnień. Prawdopodobnie nie chcesz, aby jeden użytkownik mógł modyfikować lub nawet informacje innego użytkownika, ale jeśli tylko mogą wpisać ../ user / 505 i dostać się do wszystkiego, co tam jest prawdopodobnie problem. Jestem pewien, że jest wiele innych rzeczy, które powinny być testowane tutaj, więc inni ludzie dzwonią tutaj proszę.

Testowanie wydajności i odporności na skalowanie aplikacji o ogromnym natężeniu ruchu niewiele o tym wiem.

Patrząc na przypadki testowe dla samego Django daje poczucie ziarnistości tego, co powinno być testowane.kufer Django testy

Django docs ma dobry artykuł na temat testowania: przeszukaj dokumenty pod kątem testowania.

 3
Author: Vicky T,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-16 21:58:05