2008-09-27 17 views
12

Czy przeprowadzasz automatyczne testy w złożonym systemie obiegu dokumentów, takiego jak K2?Jednostka/Automatyczne testowanie w systemie przepływu pracy

Budujemy system z szeroką integracją między Sharepoint 2007 i K2. Nie mogę sobie nawet wyobrazić, od czego zacząć od testów automatycznych, ponieważ przepływ pracy angażuje wielu użytkowników w interakcje z przepływami pracy Sharepoint, K2 i niestandardowymi stronami internetowymi.

Czy ktoś przeprowadził automatyczne testy na serwerze workflow, takim jak K2? Czy to większy wysiłek, niż jest wart?

Odpowiedz

3

Mam podobny problem, testując aplikację MOSS z dużym przepływem pracy. Przepływy pracy w naszym przypadku są oparte na WWF.

Mój pomysł polega na udawaniu niemal wszystkiego, czego nie można kontrolować na podstawie testów jednostkowych - przechowywania dokumentów, uwierzytelniania, uprawnień i działań użytkownika, specyficznych dla programu SharePoint części workflow dla programu sharepoint (te pakiety powinny być dokładnie przetestowane pod kątem zachowania lustrzanego rzeczywistych składników).

Używasz odwrócenia kontroli, aby kod wybrał komponent do użycia w czasie wykonywania - prawdziwy lub fałszywy.

Następnie można pisać testy obejmujące cały system w celu sprawdzenia zachowania przepływu pracy - konfigurowania własnego środowiska i sprawdzania, jak reaguje silnik przepływu pracy. Testy te są zbyt duże, aby można je było nazwać testami jednostkowymi, ale wciąż są to testy automatyczne.

Podejście to wydaje się działać na drobnych sprawach, ale nadal muszę udowodnić, że warto go stosować w rzeczywistych przepływach pracy.

0

Właśnie napisaliśmy aplikację, która monitoruje naszą listę roboczą K2, odbiera z niej określone zadania, wypełnia niektóre dane i przekazuje zadania do ukończenia. To pozwala nam przeprowadzać automatyczne testy, znajdować regresje i przepuszczać tyle różnych ścieżek przepływu pracy w ułamku czasu, jaki zajęłoby to ludziom. Wyobrażam sobie, że podobny program mógłby zostać napisany, by udawać, że jest sharepointem.

Jeśli chodzi o testowanie samych elementów przepływu pracy, mamy dll, o którym mowa w K2, który zawiera całą naszą regułę liniową i logikę przetwarzania. Nie mamy żadnego kodu w samych przepływach pracy k2, wszystko to jest przywoływane z tych bibliotek dll. To pozwala nam na łatwe zapisywanie testów jednostkowych na nich, aby przetestować wszystkie indywidualne reguły liniowe.

2

Here's the solution Używam. Jest to prosta operacja wokół środowiska wykonawczego, która umożliwia wykonywanie pojedynczego działania, upraszcza przekazywanie parametrów, blokuje wywoływanie wątku do czasu wykonania przepływu pracy lub działania i tłumi/wyrzuca wyjątki, jeśli takie istnieją. Ponieważ mój przepływ pracy tylko wysyła lub czeka na wiadomości za pośrednictwem niestandardowej usługi przepływu pracy, mogę wyłudzić usługę, aby oczekiwać pewnych komunikatów od przepływu pracy i opublikować określone komunikaty i tutaj mam prawdziwe testy jednostkowe dla mojego WF! Kredyt dla technologii trafia do Michaela Kennedy'ego.

+0

dzięki, poprawiono – zvolkov

1

Jeśli zamierzasz wykonywać testy jednostkowe, izolator jest jedynym narzędziem, które może obecnie kpić z obiektów SharePoint.

A przy okazji, Richard Fennell pracuje tutaj nad rozwiązaniem szyderczym z przepływu pracy.

0

Przeprowadziłem zautomatyzowane testowanie integracji w przepływach pracy K2 za pomocą interfejsu API K2ROM (prawdopodobnie SourceCode.Workflow.Client, jeśli używasz blackpearl K2).

Zasadniczo można uruchomić proces na serwerze testowym ze znanym folio (generuję identyfikator GUID), a następnie użyć interfejsu API do zarządzania, aby go później usunąć. Pisałem metody pomocnicze, takie jak AssertAtClientActivity (w zasadzie wywołania ProvideWorkItem z kryteriami).

Użyj parametru IsSynchronous do StartProcessInstance, WorklistItem.Finish, itd., Aby odpowiednie wywołania metod nie powróciły, dopóki instancja procesu nie osiągnie stabilnego stanu.

Oczekuj, że testy będą powolne i okazjonalnie się nie powiedzie. To nie są testy jednostkowe.

Jeśli chcesz pisać testy jednostkowe na innych systemach, prawdopodobnie będziesz chciał owinąć API K2.

Rozważ oglądanie Windows Workflow 4 i new workflow features in SharePoint 2010. Możesz nie potrzebować K2.

Powiązane problemy