🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.funkcyjne
Article #838

Re: Jak testować?

#838
From: Tomasz Zielonka
Date: Tue, 18 Jul 2006 12:54
44 lines
2259 bytes
 rajm wrote:
> Witam,
>
> W jaki sposób testujecie aplikacje funkcyjne? (np. lispowe właśnie). Chodzi mi
> o testy typu whitebox.
>
> W przypadku softu lispowego, czy ogólnie pisanego deklaratywnie specyfika
> działania jest zgoła inna.

Mówiąc o "sofcie lispowym" prawdopodobnie myślisz o oprogramowaniu pisanym
w Common Lisp lub Scheme. Języki te nie wymuszają programowania
deklaratywnego, a jedynie w pewnym stopniu wspierają ten styl. Cały czas
masz dostęp do mnóstwa imperatywnych mechanizmów, możesz więc używać
technik znanych z języków imperatywnych.

Jeśli chodzi o programowanie funkcyjne, to nie jestem tu ekspertem, ale...

> W typowych, imperatywnych językach (np. obiektowych) to wiadomo; Są testy
> pokrycia kodu,

nie znam takich narzędzi dla języków funkcyjnych

> są asercje,

też są asercje

> do większych kawałków wykonuje się testy jednostkowe np. JUnitem.

też można, oczywiście nie JUnitem.

Do Haskell'a jest bardzo ciekawy system QuickCheck, który opiera się na
automatycznym generowanie testowych danych i sprawdzaniu zadanych
własności.

> Obiekty dostają coś na wejściu, patrzymy co zwracają
> na wyjściu.

Analogicznie, funkcje dostają coś na wejściu, patrzymy co zwracają na
wyjściu ;-) Z funkcjami jest to nawet bardziej naturalne, zdziwiło mnie
stwierdzenie, że "obiekty dostają coś na wejściu". Obiekty mają też
stan.

Best regards
Tomasz
Technical Details
Message-ID: <slrnebpm9v.7hk.tomasz.zielonka@tomekz.gem.lan>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!not-for-mail
References: <e9fsgc$j52$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!not-for-mail
From: Tomasz Zielonka <tomasz.zielonka@gmail.com>
Newsgroups: pl.comp.lang.funkcyjne
Subject: Re: Jak testować?
Date: Tue, 18 Jul 2006 12:54:59 +0000 (UTC)
Organization: ATMAN
Lines: 44
Message-ID: <slrnebpm9v.7hk.tomasz.zielonka@tomekz.gem.lan>
References: <e9fsgc$j52$1@inews.gazeta.pl>
Reply-To: tomasz.zielonka@gmail.com
NNTP-Posting-Host: 85.232.225.130
Mime-Version: 1.0
X-Trace: node4.news.atman.pl 1153227299 23794 85.232.225.130 (18 Jul 2006 12:54:59 GMT)
X-Complaints-To: abuse@atman.pl
NNTP-Posting-Date: Tue, 18 Jul 2006 12:54:59 +0000 (UTC)
User-Agent: slrn/0.9.8.1pl1 (Debian)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit