Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este capítulo cubre tanto las pruebas como la documentación. El capítulo comienza
con los principios de prueba, las estrategias de prueba y la planificación de la
prueba. Luego, revisamos la medición y el seguimiento de las pruebas, los módulos
propensos a defectos y las implicaciones del análisis propenso a defectos en las
pruebas. A continuación, discutimos las cosas a considerar cuando usted produce
la documentación del usuario. Finalmente, utilizando los scripts TEST1 y TESTn,
revisamos el proceso de prueba de TSPi.
La estrategia de cluster
Una tercera estrategia es agregar partes en grupos. Sin embargo, no puede
simplemente tomar las partes implementadas. En su lugar, examina las partes
disponibles y elige aquellas de un tipo particular; es decir, identifica una clase de
componentes relacionados y los integra. Un ejemplo podría ser todas aquellas
partes relacionadas con el manejo de archivos, la impresión o alguna otra área de
sistemas. Este enfoque podría ser útil, por ejemplo, si se necesita una determinada
función para probar el resto del sistema. Esta estrategia también podría reducir la
necesidad de controladores de prueba o instalaciones especiales.
El registro de prueba
Los siguientes son los tipos de información para registrar en el registro de prueba.
La fecha en que se ejecutó la prueba.
El nombre de la persona que realiza la prueba.
Las pruebas corren, nombre y / o número.
El producto y la configuración que se está probando.
La hora en que se inició cada prueba.
El tiempo en que se completó cada prueba.
El número de defectos encontrados, con las referencias y números de LOGD.
Los resultados de la prueba
Además, es posible que desee incluir lo siguiente.
La configuración del sistema que se está probando.
Cualquier herramienta especial o instalaciones utilizadas
Si la intervención del operador fue requerida y cuánto
La forma más sencilla de registrar la información básica es en un registro
cronológico que se parece mucho al registro de tiempo. Un ejemplo se muestra en
la Tabla 9.1. Luego incluya toda la información agregada en un informe de prueba
que presente en el cuaderno del proyecto junto con una copia del registro de prueba.
9.7 DOCUMENTACION
Como es el caso con muchas otras partes del proceso del software, la
documentación es un tema grande que vale todo un curso propio. Este capítulo
cubre algunos de los puntos clave sobre la documentación del software y
proporciona referencias a algunos textos sobre el tema. Si ha tenido un curso sobre
escritura técnica, ahora es un buen momento para practicar lo que ha aprendido. Si
no ha tenido un curso de este tipo, ahora es un buen momento para comenzar a
pensar en este tema importante.
En la fase de prueba de TSPi, parte del equipo redacta y revisa la documentación
del usuario, mientras que el resto del equipo realiza las pruebas. Si bien los sistemas
comerciales generalmente necesitan una amplia gama de documentos para cubrir
las necesidades de instalación, mantenimiento, capacitación y mercadeo, con TSPi
solo abordamos la documentación básica del usuario.
La proporción de miembros del equipo para asignar a las pruebas o a la
documentación varía según la calidad y el contenido funcional del producto. Durante
el primer ciclo de desarrollo, es una buena idea asignar más ingenieros a las
pruebas y luego, en ciclos subsiguientes, aumentar el número asignado a la
documentación. La necesidad de desarrollar pruebas debería disminuir en ciclos
posteriores, y la carga de trabajo de la documentación probablemente aumentará
con cada incremento de la funcionalidad agregada del producto.
La importancia de la documentación
La documentación es una parte esencial de cada producto de software. En muchos
sentidos, la documentación es más importante que el código del programa. En una
empresa, por ejemplo, los ingenieros siguieron la práctica común de diferir el trabajo
de documentación hasta que terminaron las pruebas. A menudo, incluso diferían el
trabajo en algunos documentos hasta después de que los productos habían sido
enviados a los clientes. Los clientes se enojaron tanto con esto que finalmente se
negaron a pagar los programas. Le dijeron a la compañía que no querían que se
enviaran los programas hasta que vinieran con toda la documentación requerida.
En lo que a ellos se refería, un programa sin la documentación era inútil.
El mejor momento para documentar una función es justo después de haberlo
diseñado. Si produce los documentos antes de completar el diseño, probablemente
tendrá que hacer muchos cambios. Por otro lado, si demora el trabajo de
documentación demasiado tiempo, este trabajo tomará más tiempo que si lo hiciera
cuando el diseño estaba fresco en su mente. El TSPi, por lo tanto, incluye el trabajo
de desarrollo de documentos en la fase de prueba. Con sistemas más grandes, este
trabajo generalmente debería comenzar mucho antes y continuar hasta el final de
las pruebas. De hecho, es una buena idea probar los documentos del usuario como
parte de las pruebas del sistema.
Diseño de documentación
Escribir manuales de usuario útiles y útiles es un problema difícil para los ingenieros
de software. Después de diseñar y construir un producto, es natural querer describir
lo que usted construyó. Desafortunadamente, este deseo natural, para describir su
maravillosa creación, generalmente conduce a un documento terrible. La razón es
que estás escribiendo sobre lo que hiciste y no lo que el lector necesita.
Una guía útil para determinar la calidad de un manual es mirar la tabla de contenido.
Si el manual está organizado en torno al diseño del producto, probablemente sea
un documento deficiente. Un manual bien diseñado debe organizarse en torno a las
necesidades del lector y no a la estructura del producto. En general, la primera
sección debe abordar lo que el usuario debe saber primero: cómo comenzar. A
continuación, puede explicar qué puede hacer el usuario con el producto.
Finalmente, facilite que las personas encuentren lo que quieren saber. Aquí hay
algunas sugerencias.
Use un glosario para definir cualquier término que no esté en un diccionario
estándar.
Incluya una sección sobre mensajes de error, procedimientos de solución de
problemas y procedimientos de recuperación.
Tener un índice de temas clave.
Proporcionar una tabla de contenidos detallada.
Esquema de la documentación
El primer paso en la documentación es producir un resumen detallado. Comience
con un esquema de alto nivel y luego entre en detalles. Antes de comenzar a escribir
el texto, verifique el esquema para asegurarse de que cubra todos los escenarios
de usuario clave para esta compilación. Las únicas excepciones son los escenarios
que se cambiarán en ciclos de desarrollo posteriores. Describirlos ahora
probablemente sería una pérdida de tiempo.
Cuando termine el esquema, revíselo con los ingenieros que están haciendo el plan
de prueba para asegurarse de que ambos entiendan las mismas funciones de la
misma manera y que ninguno de los dos haya omitido nada importante. Esta simple
comprobación a menudo descubre defectos del sistema que ninguno de los grupos
puede ver por sí mismo. La documentación y la planificación de las pruebas
proporcionan diferentes perspectivas de las utilizadas en el diseño. De hecho, los
equipos a menudo encuentran más defectos en la documentación y en la
planificación de pruebas que durante las pruebas.
Estilo de escritura
En general, escriba oraciones cortas, use palabras y frases simples y use muchas
listas y elementos con viñetas. Por ejemplo, al explicar un procedimiento como el
desarrollo de prueba en el script TEST1, escríbalo de la siguiente manera.
A menudo, las personas escriben tal listado en forma de párrafo, como sigue:
El gerente de desarrollo o desarrollo de pruebas de leads alternativos. Los
miembros del equipo de prueba realizan sus tareas de desarrollo de prueba.
Asignan las tareas de desarrollo de prueba a los miembros del equipo de prueba,
definen los procesos y procedimientos de compilación requeridos, desarrollan los
procedimientos e instalaciones de prueba de integración, desarrollan los
procedimientos e instalaciones de prueba del sistema, miden el tamaño y el tiempo
de ejecución de cada prueba, revisan los materiales de prueba , y corregir errores.
Aunque las palabras son casi idénticas, el lector debe pasar por el párrafo para
averiguar qué hacer. Cuando organiza las mismas palabras en forma de lista, es
más fácil entender el trabajo y ver cómo hacerlo. Esta estructura también hace que
sea mucho más fácil para el usuario repasar un procedimiento después de no usarlo
por un tiempo.
Un comentario final se refiere a la calidad del documento. La mayoría de los
escritores experimentados pasarán de 5 a 10 veces más tiempo reescribiendo un
documento como se necesita para escribir el primer borrador. Después de muchas
reescrituras, sin embargo, es fácil terminar con una prosa que sea técnicamente
correcta pero difícil de leer. Una forma de resolver este problema es leer cada
párrafo en voz alta. Si es difícil de decir, probablemente sea difícil de leer. Vuelve a
escribirlo hasta que puedas decir fácilmente lo que escribiste. Entonces es probable
que tenga un documento legible. Para obtener más información sobre la redacción
técnica, le sugiero que consulte algunos libros sobre el tema [Chicago, Dupre,
Strunk, Tichy, Williams, Zinsser].
Revisión de documento
Después de redactar y volver a escribir la documentación del usuario, haga que uno
o más de sus compañeros la revisen. Si este es un producto para clientes o
usuarios, ejecute pruebas de usuario para asegurarse de que la escritura sea clara,
precisa, completa y comprensible. Algunos de los elementos para verificar en esta
revisión son los siguientes.
Organización de documentos. ¿El documento está organizado en torno a lo que
hará el usuario o en torno al contenido del producto? Los documentos del usuario
deben abordar las necesidades del usuario y no la estructura o el contenido del
producto.
Terminología del documento. ¿El documento supone conocimiento que el usuario
podría no tener? Los expertos en software a menudo utilizan terminología especial,
incluso cuando escriben para personas que podrían no entenderlo. Cualquier
palabra que no esté en el diccionario debe ser definida.
Contenido del documento. ¿El documento cubre todo el material requerido?
Exactitud. ¿Los métodos y procedimientos funcionan realmente como se describe?
Legibilidad. ¿Es el documento fácil de leer? Léalo en voz alta y vea si se siente
cómodo diciendo lo que está escrito.
Comprensibilidad ¿Pueden los laicos entender lo que está escrito? Esta pregunta
es generalmente la más difícil de responder. La mejor prueba es reclutar a alguien
que no haya estado expuesto previamente al sistema y pedirle que siga el manual
para usar el sistema. Luego observe las reacciones de su sujeto, registre cualquier
problema y vuelva a trabajar en el documento para resolver estos problemas.
Desarrollo de la prueba
Los siguientes son algunos de los elementos que se deben producir durante el
desarrollo de la prueba.
1. Una prueba de completitud de construcción. Este primer paso en las pruebas de
integración comprueba que el sistema se ha construido y que se incluyen todos los
componentes planificados. Piense en esta prueba como una verificación de la lista
de verificación que verifica que cada componente está presente. Haz esto tan simple
como un paquete de prueba como puedas. Para sistemas pequeños, incluso podría
ser un procedimiento manual.
2. Los procedimientos de integración para probar todas las interfaces en
condiciones normales y de error. Estas pruebas verifican que la compilación ha
producido un sistema que está listo para la prueba del sistema. A partir de la prueba
de completitud de compilación, usted sabe que todos los componentes están
presentes. Ahora se asegura de que el sistema construido pueda iniciarse y
ejecutarse, que todos los componentes puedan llamar a los otros componentes y
que todas las interfaces del sistema coincidan y funcionen correctamente. Esta no
es una prueba exhaustiva; solo demuestra que las interfaces coinciden y funcionan
correctamente.
Table 9.2 TSPi Cycle-1 Integration and System Test: Script TEST1
Table 9.3 TSPi Cycle n Integration and System Test: Script TESTn
3. Los materiales de prueba de integración. Aunque cada una de las pruebas es
simple, las pruebas de interfaz requieren preparación. Debido a que es posible que
tenga que probar muchas interfaces bajo una amplia variedad de condiciones y
valores de parámetros, es posible que desee un procedimiento automatizado simple
para recorrer las pruebas e indicar que se han completado con éxito. Sin embargo,
para sistemas pequeños, las pruebas de interfaz accionadas manualmente son
generalmente adecuadas.
4. Los materiales de prueba del sistema. Estos materiales deben probar todas las
funciones del sistema en condiciones normales y de estrés. También deben verificar
cómo se utilizará el sistema: durante la instalación, conversión, operación o
recuperación. Las pruebas del sistema también deben considerar la facilidad de uso,
el rendimiento, las anomalías de fecha y la exactitud y precisión matemática. Debido
a que este producto se está construyendo en varios ciclos, debe realizar las pruebas
de usabilidad y rendimiento con el primer ciclo si es posible. Resolver los problemas
de rendimiento y usabilidad es difícil después de que un producto se haya creado
inicialmente. Si se requieren cambios importantes, deben obtener la máxima
prioridad en el próximo ciclo de desarrollo.
5. Una declaración clara de los resultados esperados de cada prueba. Cuando sea
posible, haga que los materiales de prueba del sistema sean autocomprobados.
Como se señaló anteriormente, un caso de prueba de autocomprobación es uno
que enumera los resultados reales y si son correctos o no. Cuando ejecuta un lote
de pruebas, esta capacidad le permite verificar rápidamente si hubo problemas.
Hacer autocontrol de las pruebas puede requerir un trabajo adicional, pero a
menudo es una buena inversión, especialmente para las pruebas que espera usar
en las compilaciones de sistemas posteriores de pruebas de regresión. Sin
embargo, si no tiene un conjunto completo de herramientas de prueba, el esfuerzo
adicional para proporcionar la capacidad de autocomprobación probablemente no
valga la pena.
Construir
Después de la planificación y el desarrollo de pruebas, el siguiente paso en los
scripts TEST1 y TESTn es la compilación. Los pasos de compilación son los
siguientes.
1. Verifique todos los componentes necesarios para asegurarse de que estén
disponibles y cumpla con los requisitos de dependencia. Aquí, una dependencia de
componente es una capacidad requerida en el sistema base para admitir ese
componente. Los ejemplos incluyen una base de datos, una capacidad de manejo
de errores y soporte de dispositivos. Donde los componentes necesitan funciones
que no están disponibles, pueden ser necesarios controladores de prueba
especiales o talones; Comprueba que estén previstas y estén disponibles. También
puede haber otras dependencias, como para reparaciones de defectos. Por
ejemplo, un componente puede haberse caído en el ciclo de desarrollo anterior
debido a un error de interfaz. Compruebe que todos estos defectos hayan sido
reparados.
2. Revise los elementos suministrados para la construcción e identifique las piezas
faltantes. Asegúrese de que el sistema pueda construirse sin estas piezas y
asegúrese de que estas necesidades también se aborden durante la planificación
de la integración y el desarrollo de pruebas.
3. Compruebe la construcción propuesta para la coherencia y la integridad. Esta es
una verificación final del trabajo de todos para garantizar que se incluyan todas las
piezas necesarias y que una compilación de estos componentes sea un producto
completo adecuado para las pruebas de integración.
4. Construye el producto. Para productos pequeños, esto consiste en compilar y
vincular los componentes del sistema y registrar su tiempo en el registro de prueba
(LOGTEST) y cualquier defecto en los formularios LOGD de los propietarios del
producto.
Si se encuentran defectos durante la compilación, decida si continuar con la
compilación o devolver uno o más componentes a los desarrolladores para su
reparación. Informe los defectos en los formularios LOGD del propietario del
producto y pídale al administrador de procesos / calidad que lo ayude a decidir cómo
proceder. Si la reparación se puede hacer rápidamente, podría reconstruir. De lo
contrario, es posible que tenga que reprogramar la construcción.
Integración
Las tareas de integración son las siguientes.
1. Compruebe la integridad del producto construido. Ejecute una verificación de
integridad en la compilación para verificar que todas las piezas necesarias estén
presentes en la compilación.
2. Ejecutar las pruebas de integración. Ejecutar las pruebas de integración
planificadas.
3. Para estas pruebas, registre los datos de la prueba en el registro de prueba
(formulario LOGTEST). Registre su nombre, la fecha, la hora, el sistema que se está
probando, las pruebas ejecutadas, sus tiempos de ejecución y los defectos
encontrados.
4. Si se encuentran defectos, el propietario del producto registra todos los defectos.
Luego haga que el gerente de calidad / proceso determine si las pruebas deben
continuar. Si es posible, continúe con las pruebas de integración y arregle los
defectos en paralelo. Sin embargo, si el sistema tiene componentes muy
defectuosos, cancele las pruebas de integración y realice una inspección completa
de estos componentes defectuosos.
Si hubiera defectos, devuelva los datos de defectos a los ingenieros apropiados
para su reparación. Después de la corrección, haga que un miembro del equipo
inspeccione la corrección para asegurarse de que sea correcta. El gerente de
calidad / proceso también debe revisar estos defectos en la próxima reunión del
equipo. Para sistemas y proyectos más grandes, normalmente necesita suficiente
información para recrear el problema para que los ingenieros de desarrollo puedan
diagnosticarlo y repararlo. Esta información generalmente incluye la configuración
de hardware y software, los trabajos que se están ejecutando, cualquier información
sobre archivos y datos requeridos, etc. Para TSPi, sin embargo, los datos simples
de LOGD y LOGTEST deberían ser adecuados.
Documentación
Completa la documentación del usuario.
Criterio de salida
Al finalizar la fase de prueba, debe tener lo siguiente.
Una versión del producto completa, integrada, probada por el sistema y por
regresión
Un registro de prueba completo en el registro de prueba.
Entradas de LOGD completadas y un análisis de defectos por cada defecto
encontrado
Documentación de usuario completada y revisada
Se actualizaron los formularios SUMP y SUMQ para el sistema y todos sus
módulos o componentes.
Una copia de todos los datos y formularios de prueba en el cuaderno del proyecto.
9.9 RESUMEN
Este capítulo cubre tanto las pruebas como la documentación. El propósito de la
prueba es evaluar el producto, no arreglarlo. Sin embargo, con TSPi, tiene los datos
para juzgar qué partes del sistema tienen más probabilidades de ser propensas a
defectos. Por lo general, es probable que aquellos módulos con la mayoría de los
defectos en la prueba tengan la mayoría de los defectos restantes después de la
prueba. Estos módulos deben ser extraídos de la prueba y arreglados por los
desarrolladores. Tratar de corregirlos en la prueba lleva mucho tiempo y rara vez es
eficaz.
En los pasos de compilación e integración, ensambla las partes del sistema, se
asegura de que se incluyan todas las partes necesarias y se asegure de que todas
sus interfaces funcionan correctamente. En las pruebas del sistema, busca
responder las siguientes preguntas.
¿El sistema realiza correctamente las funciones que se supone que debe realizar?
¿El sistema cumple con sus objetivos de calidad?
¿Funcionará correctamente el sistema en condiciones normales?
¿Funcionará correctamente el sistema en condiciones adversas?
¿El sistema arranca correctamente?
¿El sistema realizará todas las funciones dadas en los requisitos?
¿Se recuperará de fallas de hardware o de energía?
¿Es adecuado el rendimiento del sistema?
¿Es utilizable el sistema?
En la planificación de pruebas, describa las pruebas que planea ejecutar y en qué
orden y describa los materiales de prueba que se necesitan para ejecutar cada
prueba. Luego nombre cada prueba planificada y especifique cuánto tiempo espera
que se ejecute, los resultados de prueba anticipados y los tamaños de los materiales
de prueba que se desarrollarán. Además del código de prueba especial, es posible
que necesite scripts de prueba interactivos y datos de prueba.
En la fase de prueba de cada ciclo de desarrollo, algunos miembros del equipo
redactan y revisan la documentación del usuario mientras que otros miembros
realizan la prueba. Un manual bien diseñado se organiza en torno a las necesidades
del usuario y no a la estructura y funciones del producto. El primer paso de la
documentación es producir un resumen completo y luego revisarlo con el grupo de
prueba para asegurarse de que ambos grupos estén cubriendo los mismos temas
de la misma manera. Al escribir, use oraciones cortas, palabras y frases simples y
muchas listas y elementos con viñetas. Después de que hayas escrito y revisado
personalmente el manual, haz que otros lo revisen. Para los productos que se
entregarán a los usuarios finales, también pruebe los documentos con usuarios
típicos y durante las pruebas del sistema.