Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Robotul martian european, revigor...

Geoana: „Sistemul de vot es...

Imprimare mai multe pagini intr-o...

trebuie sa depun declaratie unica...
 Ruse vs Rusesti

Le mai putem da pe brazda? tipsuri

Recomandari gips carton tavane. (...

ce fel de activitate intretinere ...
 Se poate imbunatati o poza sa se ...

Folosește cineva syncthing? ...

Închidere fereastra dupa deschidere.

Kit AC contine brate Unitatea ext...
 Smart Switch fara neutru

Ierbicid pentru parul porcului.

Smecher de talie grea

PH apa plata
 

[TEMA]X si 0 cu mai multe "table de joc"

- - - - -
  • Please log in to reply
118 replies to this topic

#91
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostGlontzZz, on 17 iunie 2015 - 19:09, said:

Problema sa fie la ceea ce a zis dani,user? Faptul ca nu am pus nimic pe tabla inca?
Tu ce crezi, abereaza dani.user?

#92
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014

View PostOriginalCopy, on 17 iunie 2015 - 19:13, said:

Tu ce crezi, abereaza dani.user?
Nu am zis asta.

Deci, pentru a face putea lucra la test, intai va trebui sa pun ceva pe tabla. Voi pune asta manual, modificand tabla, mai exact direct in program (de exemplu gameBoard[1][1] = 'O'), sau voi lua input-ul de la user, asta necesitand inceperea unei noi clase?

#93
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostGlontzZz, on 17 iunie 2015 - 19:15, said:

Nu am zis asta.

Deci, pentru a face putea lucra la test
Ce intelegi prin "a lucra la test"?

View PostGlontzZz, on 17 iunie 2015 - 19:15, said:

Nu am zis asta.
Era modul meu de a te face sa spui ca nu abereaza.

#94
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014

View PostOriginalCopy, on 17 iunie 2015 - 19:18, said:

Ce intelegi prin "a lucra la test"?
Cand incep un test, pornesc cu niste erori. Dar daca nu am nimic pe tabla, cum as putea primi acele erori care sa ma indrume inspre ce sa modific?

#95
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostGlontzZz, on 17 iunie 2015 - 19:22, said:

Cand incep un test, pornesc cu niste erori. Dar daca nu am nimic pe tabla, cum as putea primi acele erori care sa ma indrume inspre ce sa modific?
Pai chiar asa, cum?

Cand ai inceput proiectul nu aveai cod de productie, nu? Pai si cum oare ai reusit sa scrii cod de testare fara a avea pic de cod de productie?

Omul te-a intrebat foarte clar:

View Postdani.user, on 17 iunie 2015 - 18:20, said:

when_something_is_on_the_board - unde pui ceva in board?
Unde in aceste linii de cod ii spui SUT-ului (system under testing) ca are piese pe board?

static char * when_something_is_on_the_board_the_board_is_not_empty(){
	Board board;
	mu_assert("When there's something on the board, the board isn't empty", !board.isEmpty());
	return 0;
}


#96
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014

View PostOriginalCopy, on 17 iunie 2015 - 19:29, said:

Pai chiar asa, cum?
Cand ai inceput proiectul nu aveai cod de productie, nu? Pai si cum oare ai reusit sa scrii cod de testare fara a avea pic de cod de productie?
Prin erorile primite, erori ce ma obligau sa scriu codul de productie.

View PostOriginalCopy, on 17 iunie 2015 - 19:29, said:

Unde in aceste linii de cod ii spui SUT-ului (system under testing) ca are piese pe board?
Nicaieri. Deci, ar trebui sa adaug in interiorul testului o linie de cod ce ar schimba valoarea unei casute de pe tabla de joc, pentru a avea pe ce testa?

#97
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostGlontzZz, on 17 iunie 2015 - 19:34, said:

Nicaieri. Deci, ar trebui sa adaug in interiorul testului o linie de cod ce ar schimba valoarea unei casute de pe tabla de joc, pentru a avea pe ce testa?
Tu ce crezi si de ce?

#98
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014
Cred ca da... In caz contrar, nu vad nicio diferenta intre primul test si acesta, ambele verificand daca tabla e goala si atat.

#99
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostGlontzZz, on 17 iunie 2015 - 19:43, said:

Cred ca da... In caz contrar, nu vad nicio diferenta intre primul test si acesta, ambele verificand daca tabla e goala si atat.
Corect. Ba mai mult, nu vezi ca implementarea din interiorul testului ar reflecta ideea exprimata in numele testului! Asta ar fi mult mai important decat faptul ca ai cod de testare duplicat.

Totul porneste de la nume, d-aia te-am pus sa scrii propozitii intregi si clare care definesc ce scenariu testeaza testul.

Apoi exprimi intr-un limbaj formal pentru calculator (aici: C++) acel scenariu, ca sa te inteleaga si calculatorul. Ai doua etape intr-un test:
  • fixture setup - pana acum asta a implicat doar alocarea statica a unui obiect, dar poti face orice aici pentru a pune SUT-ul in starea ceruta de scenariu
  • assertions

Edited by OriginalCopy, 17 June 2015 - 19:49.


#100
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014
Am reusit sa il fac sa treaca... De acum o sa denumesc mai bine testele, ca sa nu se repete greseala de acum.

+push

E ok daca as include conio.h si as pune un getch() la finalul main-ului? Ar deranja cu ceva? Nu de alta, dar sa pot vedea ce se afiseaza in consola... Sau sa pun erorile testelor intr-un fisier?

#101
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,501
  • Înscris: 10.08.2005
N-ar fi mai ok sa pornesti aplicatiile din consola?

#102
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014
Pentru compilare folosesc Visual Studio, deoarece imi e mai usor, avand fisierele impartite in 2 foldere. Nu am invatat inca sa folosesc CMake, pentru a imi usura compilarea din foldere diferite... Lucrand in VS, imediat dupa compilare, imi e mai usor sa pornesc aplicatia direct, insa acest lucru nu imi permite sa citesc textul returnat de teste.

#103
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
[ https://i.imgur.com/zXfYwGx.png - Pentru incarcare in pagina (embed) Click aici ]
Oribila schimbarea asta.

Interactiunea dintre test si SUT trebuie sa se faca mereu prin interfata publica, nu expunand detalii interne clasei doar pentru a face clasa testabila.

Edited by OriginalCopy, 17 June 2015 - 20:30.


#104
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014
Si cum as putea face acea schimbare a unei valori, avand gameBoard in private? Sa fac o metoda in clasa Board ce imi va modifica valoarea?

#105
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostGlontzZz, on 17 iunie 2015 - 20:30, said:

Si cum as putea face acea schimbare a unei valori, avand gameBoard in private? Sa fac o metoda in clasa Board ce imi va modifica valoarea?
Normal ca da. Metoda aia nu o faci doar pentru testare, ci si pentru a fi folosita de alte parti din codul de productie si pentru validare.

Aproape niciodata nu vei avea variabile-membru publice, le pui pe toate private si le faci protected doar cand apare o nevoie punctuala si doar cand problema nu poate fi evitata cu un refactoring.

Plus ca doar cu o metoda poti valida inputul, daca e public, oricine isi poate face de cap cu membrul ala.

#106
GlontzZz

GlontzZz

    Active Member

  • Grup: Members
  • Posts: 1,288
  • Înscris: 08.02.2014
Rezolvat. Sper ca e okay acum.

#107
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View PostGlontzZz, on 17 iunie 2015 - 20:44, said:

Rezolvat. Sper ca e okay acum.

Mai bine. Acum fa si validarea.

Nu uita ca faci TDD, deci scrie mai intai testul.

Orice linie de cod de productie trebuie sa se nasca ca reactie la un test care nu poate fi rulat cu succes.

#108
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,262
  • Înscris: 24.02.2007

View PostGlontzZz, on 17 iunie 2015 - 20:18, said:

E ok daca as include conio.h si as pune un getch() la finalul main-ului? Ar deranja cu ceva? Nu de alta, dar sa pot vedea ce se afiseaza in consola... Sau sa pun erorile testelor intr-un fisier?

Pui un breakpoint pe ultima acolada din main si-ti ramane consola deschisa cand pornesti din VS.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate