ปัญหาพื้นฐานของการทดสอบ

การแนะนำ

สวัสดีตอนบ่ายชาวเมือง Khabrovsk ตอนนี้ฉันกำลังแก้ไขงานทดสอบตำแหน่ง QA Lead ของบริษัทฟินเทคแห่งหนึ่ง งานแรกในการสร้างแผนการทดสอบพร้อมรายการตรวจสอบที่สมบูรณ์และตัวอย่างกรณีทดสอบสำหรับการทดสอบกาต้มน้ำไฟฟ้าสามารถแก้ไขได้เล็กน้อย:

แต่ส่วนที่สองกลับกลายเป็นคำถาม: “มีปัญหาใดๆ ที่พบบ่อยสำหรับผู้ทดสอบทุกคนที่ขัดขวางไม่ให้พวกเขาทำงานได้อย่างมีประสิทธิภาพมากขึ้นหรือไม่”

สิ่งแรกที่เข้ามาในใจคือการแสดงรายการปัญหาที่เห็นได้ชัดเจนทั้งหมดที่ฉันพบระหว่างการทดสอบ ไม่มากก็น้อย กำจัดสิ่งเล็กๆ น้อยๆ และสรุปส่วนที่เหลือ แต่ฉันรู้ได้อย่างรวดเร็วว่าวิธีการอุปนัยจะตอบคำถามที่ไม่ได้ใช้กับ "ทุกคน" แต่อย่างดีที่สุดจะตอบเฉพาะกับผู้ทดสอบ "ส่วนใหญ่" เท่านั้น ดังนั้นฉันจึงตัดสินใจเข้าใกล้มันจากอีกด้านหนึ่ง แบบนิรนัย และนี่คือสิ่งที่เกิดขึ้น

กำหนด

สิ่งแรกที่ฉันมักจะทำเมื่อแก้ไขปัญหาใหม่คือพยายามทำความเข้าใจว่ามันเกี่ยวกับอะไร และเพื่อจะทำสิ่งนี้ ฉันต้องเข้าใจความหมายของคำที่ก่อให้เกิดปัญหานั้น คำสำคัญที่ต้องทำความเข้าใจมีดังต่อไปนี้:

  • ปัญหา
  • ผู้ทดสอบ
  • งานทดสอบ
  • ประสิทธิภาพการทดสอบ

หันมาใช้ Wikipedia และสามัญสำนึกกันดีกว่า:
ปัญหา (กรีกโบราณ πρόβλημα) ในความหมายกว้าง - ปัญหาทางทฤษฎีหรือปฏิบัติที่ซับซ้อนซึ่งต้องมีการศึกษาและการแก้ไข ในทางวิทยาศาสตร์ - สถานการณ์ที่ขัดแย้งกันซึ่งปรากฏในรูปแบบของตำแหน่งที่ตรงกันข้ามในการอธิบายปรากฏการณ์วัตถุกระบวนการใด ๆ และต้องใช้ทฤษฎีที่เพียงพอในการแก้ไข ในชีวิตปัญหาถูกกำหนดไว้ในรูปแบบที่คนเข้าใจได้ “รู้อะไร ไม่รู้ทำ” คือรู้ว่าต้องได้อะไรแต่ไม่รู้ว่าต้องทำอย่างไร . มาจากช้า. ละติจูด ปัญหาจากภาษากรีก πρόβλημα “โยนไปข้างหน้า วางไว้ข้างหน้า”; จาก προβάллω “โยนไปข้างหน้า วางไว้ข้างหน้าคุณ ตำหนิ".

จริงๆ แล้วมันไม่สมเหตุสมผลเลย "ปัญหา" = "อะไรก็ตามที่จำเป็นต้องได้รับการจัดการ"
ผู้ทดสอบ - ผู้เชี่ยวชาญ (เราจะไม่แบ่งออกเป็นประเภทเนื่องจากเราสนใจผู้ทดสอบทุกคน) ที่มีส่วนร่วมในการทดสอบส่วนประกอบหรือระบบ ผลลัพธ์ที่ได้คือ:
งานของผู้ทดสอบ — ชุดกิจกรรมที่เกี่ยวข้องกับการทดสอบ
ประสิทธิภาพ (lat. effectivus) - ความสัมพันธ์ระหว่างผลลัพธ์ที่ได้และทรัพยากรที่ใช้ (ISO.9000: 2015)
ผลลัพธ์ - ผลที่ตามมาของห่วงโซ่ (ชุด) ของการกระทำ (ผลลัพธ์) หรือเหตุการณ์ที่แสดงออกมาในเชิงคุณภาพหรือเชิงปริมาณ ผลลัพธ์ที่เป็นไปได้ ได้แก่ ข้อได้เปรียบ ข้อเสีย การได้ การสูญเสีย คุณค่า และชัยชนะ
เช่นเดียวกับ “ปัญหา” มีความหมายเพียงเล็กน้อย นั่นคือ บางสิ่งบางอย่างที่เป็นผลจากการทำงาน
ทรัพยากร - ความเป็นไปได้ในเชิงปริมาณที่วัดได้ของการดำเนินกิจกรรมใด ๆ ของบุคคลหรือบุคคล เงื่อนไขที่อนุญาตให้ใช้การแปลงบางอย่างเพื่อให้ได้ผลลัพธ์ที่ต้องการ ผู้ทดสอบคือบุคคล และตามทฤษฎีทรัพยากรที่สำคัญ แต่ละคนจะเป็นเจ้าของสินทรัพย์ทางเศรษฐกิจสี่รายการ:
เงินสด (รายได้) เป็นทรัพยากรหมุนเวียน
พลังงาน (พลังชีวิต) เป็นทรัพยากรหมุนเวียนบางส่วน
เวลาเป็นทรัพยากรที่ตายตัวและไม่หมุนเวียนโดยพื้นฐาน
ความรู้ (ข้อมูล) เป็นทรัพยากรหมุนเวียนซึ่งเป็นส่วนหนึ่งของทุนมนุษย์ที่สามารถเติบโตและถูกทำลายได้[1].

ฉันอยากจะทราบว่าคำจำกัดความของประสิทธิภาพในกรณีของเรานั้นไม่ถูกต้องทั้งหมด เนื่องจากยิ่งเราใช้ความรู้มากเท่าไร ประสิทธิภาพก็ยิ่งลดลงเท่านั้น ดังนั้น ฉันจะนิยามประสิทธิภาพใหม่ว่า "อัตราส่วนระหว่างผลลัพธ์ที่ได้รับและทรัพยากรที่ใช้ไป" จากนั้นทุกอย่างถูกต้อง: ความรู้จะไม่สูญเปล่าระหว่างการทำงาน แต่จะลดต้นทุนของทรัพยากรที่ไม่หมุนเวียนโดยพื้นฐานเพียงอย่างเดียวของผู้ทดสอบนั่นคือเวลาของเขา

การตัดสิน

ดังนั้นเราจึงกำลังมองหาปัญหาระดับโลกของผู้ทดสอบที่ทำให้ประสิทธิภาพในการทำงานลดลง
ทรัพยากรที่สำคัญที่สุดที่ใช้ไปกับงานของผู้ทดสอบคือเวลาของเขา (ส่วนที่เหลือสามารถลดลงได้ไม่ทางใดก็ทางหนึ่ง) และเพื่อให้เราพูดคุยเกี่ยวกับการคำนวณประสิทธิภาพที่ถูกต้องผลลัพธ์จะต้องลดลงตามเวลาด้วย .
ในการดำเนินการนี้ ให้พิจารณาระบบที่ผู้ทดสอบรับรองความมีชีวิตผ่านงานของเขา ระบบดังกล่าวเป็นโครงการที่มีทีมงานรวมผู้ทดสอบด้วย วงจรชีวิตของโครงการสามารถแสดงคร่าวๆ ได้ด้วยอัลกอริธึมต่อไปนี้:

  1. การทำงานกับข้อกำหนด
  2. การก่อตัวของข้อกำหนดทางเทคนิค
  3. ออกแบบ
  4. การทดสอบ
  5. ปล่อยเข้าสู่การผลิต
  6. การสนับสนุน (ไปที่รายการที่ 1)

ในกรณีนี้ โครงการทั้งหมดสามารถแบ่งออกเป็นโครงการย่อย (คุณลักษณะ) แบบวนซ้ำโดยมีวงจรชีวิตเดียวกัน
จากมุมมองของโครงการ ยิ่งใช้เวลาน้อยลงเท่าใด การนำไปปฏิบัติก็มีประสิทธิภาพมากขึ้นเท่านั้น
ดังนั้นเราจึงมาถึงคำจำกัดความของประสิทธิภาพสูงสุดที่เป็นไปได้ของผู้ทดสอบจากมุมมองของโครงการ - นี่คือสถานะของโครงการเมื่อเวลาในการทดสอบเป็นศูนย์ ปัญหาที่พบบ่อยสำหรับผู้ทดสอบทุกคนคือการไม่สามารถทำได้ในเวลานี้

จะจัดการกับสิ่งนี้อย่างไร?

ข้อสรุปค่อนข้างชัดเจนและหลายคนใช้มานานแล้ว:

  1. การพัฒนาและการทดสอบควรเริ่มต้นและสิ้นสุดเกือบจะพร้อมๆ กัน (โดยปกติแผนกจะเป็นผู้ดำเนินการ) QA). ตัวเลือกที่เหมาะสมที่สุดคือเมื่อฟังก์ชันทั้งหมดที่ได้รับการพัฒนานั้นครอบคลุมอยู่แล้วโดยการทดสอบอัตโนมัติเมื่อถึงเวลาที่พร้อม โดยจัดเป็นการทดสอบการถดถอย (และหากเป็นไปได้ ให้กระทำล่วงหน้า) โดยใช้วิธีบางประเภท CI.
  2. ยิ่งโปรเจ็กต์มีคุณสมบัติมากขึ้น (ยิ่งซับซ้อนมากขึ้น) ยิ่งต้องใช้เวลามากขึ้นในการตรวจสอบว่าฟังก์ชันใหม่ไม่ทำให้ฟังก์ชันเก่าเสียหาย ดังนั้น ยิ่งโครงการมีความซับซ้อนมากเท่าใด ระบบอัตโนมัติก็ยิ่งจำเป็นมากขึ้นเท่านั้น การทดสอบการถดถอย.
  3. ทุกครั้งที่เราพลาดจุดบกพร่องในการใช้งานจริงและผู้ใช้พบมัน เราต้องใช้เวลาเพิ่มเติมในการผ่านวงจรชีวิตของโปรเจ็กต์โดยเริ่มจากจุดที่ 1 (การทำงานกับข้อกำหนด ในกรณีนี้คือ ผู้ใช้) เนื่องจากโดยทั่วไปไม่ทราบสาเหตุของการพลาดข้อบกพร่อง เราจึงเหลือเส้นทางการปรับให้เหมาะสมเพียงเส้นทางเดียว - ทุกข้อบกพร่องที่ผู้ใช้พบจะต้องรวมไว้ในการทดสอบการถดถอยเพื่อให้แน่ใจว่าจะไม่ปรากฏขึ้นอีก

ที่มา: will.com

เพิ่มความคิดเห็น