33 90 1 PB
33 90 1 PB
33 90 1 PB
RESUMO
INTRODUÇÃO
2.TESTES DE SOFTWARE
4.METODOLOGIA
Responsáveis:
Para cada tipo de teste listado no plano de testes deve ser provi-
denciado um documento contendo um detalhamento do teste realizado
bem como seus resultados. Na Tabela 3 um exemplo de proposta de teste
de aceitação.
Objetivos do teste
Testar e validar a versão final do sistema junto ao cliente, liberando para o usuário final.
Verificar indicadores de boa usabilidade da versão final.
Escopo do teste: <colocar aqui os detalhes de como vai acontecer o teste>
<data> <responsável>
Histórico:
<data> <responsável>
objetos e classes trabalhem com uma lógica livre de erros. Uma das formas
de realizar esse teste é criar uma implementação automatizada que, através
de alguns procedimentos, conseguem aferir se o sistema está realmente
trabalhando corretamente (SBROCCO; MACEDO,2012).
Para entendimento desta proposta toma-se como exemplo o desen-
volvimento de uma operação/funcionalidade do sistema que calcule um
parcelamento de uma dívida (Figura 1).
Procedimento TestaParcela( )
Datahoje=05/10/2011;
Valorhoje=R$300,00;
TabelaJuro=1;
NumeroParcelas=3;
Parcela30=05/11/2011;
Parcela60=05/12/2011;
Parcela90=05/01/2012;
Valor30=R$306,75;
Valor60=R$312,88;
Valor90=R$337,91;
Gera_parcelas(NumeroParcelas,Datahoje,Valorhoje,TabelaJuro)
Se (Parcela30=Parcela30_obtida). E . (Parcela60=Parcela60_obtida) . E . (Parcela90=Parcela90_
obtida) então “Datas testadas estão OK” senão “Problemas nas datas”
Entradas
Campo Valor
Saídas
Aprovação: Data:
4.3 EXPERIMENTO
J=P.i.n
Onde:
J = juros
P = principal (capital)
i = taxa de juros
n = número de períodos
Exemplo: Temos uma dívida de R$ 2000,00 que deve ser paga com juros
de 5% a.m. pelo regime de juros simples e devemos pagá-la em 5 meses.
Os juros que deverão ser pagos:
J = 2000 x 0.05 x 5 = 500
a) Criando a aplicação
1
Microsoft Visual Studio - é marca registrada ou marca comercial da Microsoft Corporation nos Estados
Unidos e/ou outros países.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CalculoProject
{
/* Legenda
* j = juros
* p = principal (capital)
* i = taxa de juros
* n = número de períodos
*
*
*/
/// <summary>
/// Classe Calculo: Reponsável pelo calculo de juros simples
/// e de valor principal (capital).
/// </summary>
publicclassCalculo
{
public decimal j { set; get; }
public decimal p { set; get; }
public decimal i { set; get; }
public int n { set; get; }
/// <summary>
/// Método responsável pelo Cálculo dos Juros simples
/// </summary>
Figura 4 – Código de exemplo – parte I
using CalculoProject;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
namespace CalculoTests
{
/// <summary>
///This is a test class for CalculoTest and is intended
///to contain all CalculoTest Unit Tests
///</summary>
[TestClass()]
public class CalculoTest
{
private TestContext testContextInstance;
/// <summary>
///Gets or sets the test context which provides
///information about and functionality for the current test run.
///</summary>
public TestContext TestContext
{
get
{
Return testContextInstance;
}
set
Figura 7 – Código de exemplo – parte I
{
testContextInstance=value;
}
}
/// <summary>
///A test for calcularMontante
///</summary>
[TestMethod()]
public void calcularMontanteTest()
{
Calculo target=new Calculo(); // TODO: Initialize to an appropriate value
Decimal expected=new Decimal(); // TODO: Initialize to an appropriate value
Decimal actual;
actual= target.calcularMontante();
Assert.AreEqual(expected, actual);
Assert.Inconclusive(“Verify the correctness of this test method.”);
}
/// <summary>
///A test for calcularJurosSimples
///</summary>
[TestMethod()]
public void calcularMontanteTest()
{
Calculo target=new Calculo(); // TODO: Initialize to an appropriate value
Decimal expected=new Decimal(); // TODO: Initialize to an appropriate value
Decimal actual;
actual= target.calcularJurosSimples();
Assert.AreEqual(expected, actual);
Assert.Inconclusive(“Verify the correctness of this test method.”);
}
/// <summary>
///A test for calcularJurosSimples
///</summary>
[TestMethod()]
public void calcularJurosSimplesTest()
Figura 7 – Código de exemplo – parte II
{
Calculo target=new Calculo(); // TODO: Initialize to an appropriate value
Decimal expected=new Decimal(); // TODO: Initialize to an appropriate value
Decimal actual;
actual= target.calcularJurosSimples();
Assert.AreEqual(expected, actual);
Assert.Inconclusive(“Verify the correctness of this test method.”);
}
}
}
[TestMethod()]
publicvoidcalcularJurosSimplesTest()
{
Calculo target = new Calculo(); // TODO: Initialize to an appropriate value
Decimal expected = new Decimal(); // TODO: Initialize to an
appropriate value
Decimal actual;
expected = 750;
target.p = 5000;
target.i = (Decimal)0.05;
target.n = -3;
actual = target.calcularJurosSimples();
Assert.AreEqual(expected, actual);
}
[TestMethod()]
public void calcularMontanteTest()
{
Calculo target = new Calculo(); // TODO: Initialize to an appropriate value
Decimal expected = new Decimal(); // TODO: Initialize to an
appropriate value
Decimal actual;
expected = 5750;
target.p = 5000;
target.i = (Decimal)0.05;
target.n = 3;
actual = target.calcularMontante();
Assert.AreEqual(expected, actual);
}
Figura 8 – Código de exemplo
CONSIDERAÇÕES FINAIS
REFERÊNCIAS BIBLIOGRÁFICAS
BACH, J.. Heuristic Risk-Based Testing - First published in Software Testing and Quality
Engineering Magazine, 11/99 Copyright ,1999
CHARETTE, R.. Fair Fight? Agile versus Heavy Methodologies Cutter Consortium E-
-Project – Management Advisory Service – 2 – 13, (2001)
CHILLAREGE, R.. Software Testing Best Practices - Center for Software Engineering
IBM Research, 1999.
CRISPIN, L.; HOUSE, T.. Testing Extreme Programming, Addison Wesley, 2005