การทดสอบซอฟต์แวร์ทำได้อย่างไรในการสตาร์ทอัพเทคโนโลยี


10

ฉันได้เห็นบทความวิจัยและบล็อกเทคโนโลยีจำนวนมากที่มีประโยชน์ในการทดสอบซอฟต์แวร์ ฉันเชื่อมั่นในสิ่งนั้น แต่เนื่องจากการวิจัยการทดสอบซอฟต์แวร์ทั้งหมดดำเนินการโดย บริษัท ซอฟต์แวร์ขนาดใหญ่ฉันไม่เชื่อว่าพวกเขาจะนำไปใช้กับ บริษัท ที่เพิ่งเริ่มต้นจริงๆ เนื่องจาก startups มีความต้องการและข้อ จำกัด ต่างกันเมื่อเทียบกับ บริษัท ซอฟต์แวร์ขนาดใหญ่

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

(ฉันต้องยอมรับว่าแม้ว่าฉันจะยังเร็วในอาชีพของฉัน แต่ฉันยังไม่เห็นการเริ่มต้นที่มุ่งมั่นอย่างจริงจังในการเขียนการทดสอบอัตโนมัติ)


5
ฉันเข้าร่วมการเริ่มต้นเล็ก ๆ 10-yo และฉันเป็นคนแรกที่เพิ่มการทดสอบที่ทำงานตอนกลางคืน ไม่ใช่เพราะฉันเป็นอัจฉริยะ แต่นี่เป็นครั้งแรกที่ผู้จัดการ (เช่น coder) ยอมรับว่าเป็นเวลาที่จะเพิ่มพวกเขาและในที่สุดพวกเขาก็มีกำลังคน Strat-ups มักจะต้องเอาชีวิตรอดก่อนและสมบูรณ์แบบในภายหลัง จริงอยู่การเริ่มต้นใช้งานนี้เริ่มต้นโดยผู้ที่ไม่ใช่นักเทคโนโลยีดังนั้นคุณลักษณะนี้จึงต้อง "เลื่อน"
งาน

5
อายุ 10 ปีเริ่มต้น ...
pap

ดิลเบิร์ตกล่าวว่า : "ถ้าทุกคนในอุตสาหกรรมยอมรับการปฏิบัติที่ดีแล้วการปฏิบัติที่ดีที่สุดจะกลายเป็นเรื่องธรรมดา" ฉันเดาว่าเป็นเรื่องจริงใช่มั้ย
ming_codes

อายุ 10 ปีเริ่มต้น ... พวกเขาต้องใช้ Java: การออกแบบ 3 ปีและการพัฒนา 7 ครั้ง :) เพียงแค่ล้อเล่น (ฉันเป็นนักพัฒนา Java btw)
nuvio

คำตอบ:


11

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

เว็บไซต์โซเชียลเน็ตเวิร์กและ บริษัท แอพมือถือต่างกลายเป็นฟองสบู่ขนาดใหญ่ตอนนี้และพวกเขาก็แข่งขันกันอย่างดุเดือด บางครั้งความแตกต่างระหว่างการมีชีวิตอยู่ใน 4 เดือนกับ 5 เดือนหมายความว่าคุณแพ้

เวลาสู่ตลาดเป็นกุญแจสำคัญและหากประสบความสำเร็จก็ถึงเวลาที่ต้องไต่ระดับจากนั้นจะมีเวลาอีกมากในการปรับโครงสร้างซอฟต์แวร์ที่ยังไม่ผ่านการทดสอบของคุณเป็นสิ่งที่คุ้มค่า


เวลาไปตลาดเป็นบิตของตำนานแม้ว่า ผู้ที่เข้ามาช้าในตลาดสามารถทำให้ผู้เล่นที่มีอยู่เดิม: Friendster> myspace> facebook
Joeri Sebrechts

@JoeriSebrechts ฉันอ่านบทความที่น่าสนใจเกี่ยวกับความก้าวหน้าของซอฟต์แวร์และความเกี่ยวข้องกับความสำเร็จของผู้เข้ามาสาย มีตัวแปรที่เล่นระยะเวลาที่ปลอดภัยสำหรับผู้เข้าร่วมล่าช้าด้วยโซลูชันที่คล้ายกันเท่ากับระยะเวลาที่ฐานผู้ใช้ของซอฟต์แวร์เปลี่ยนจาก Adopters ก่อนหน้าเป็นผู้ใช้ทั่วไป วิธีการแก้ปัญหาที่คล้ายกันของความหมายแน่นอนคุณสมบัติที่คล้ายกันและไม่ทำลายพื้นดินเมื่อเทียบกับคู่แข่งรายแรกในตลาด (เช่น Facebook เป็นคนที่ก้าวล้ำเมื่อเทียบกับ MySpace) เมื่อถึงจำนวนที่สำคัญของผู้ Adopters ก่อนผู้ใช้ทั่วไปจะเริ่มโยกย้าย
maple_shaft

12

การทดสอบซอฟต์แวร์ไม่ได้เป็นเรื่องของศาสนา มันเป็นความคิดที่ดีมาก

คุณบอกว่าคุณไม่มีกำลังคนที่จะเขียนการทดสอบตอนนี้? ตกลงไม่เป็นไร. 6 สัปดาห์จากนี้คุณจะมีกำลังคนในการค้นหาข้อผิดพลาดที่กระแทกแอปพลิเคชันของคุณซึ่งจะพบได้ทันทีหากคุณมีการทดสอบที่เหมาะสม

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


4

เป็นเวลาหลายปีในขณะที่ทำงานใน บริษัท ขนาดเล็กและเริ่มอัพผมก็อยู่ภายใต้ความเข้าใจผิดที่ฉัน "ไม่ได้มีเวลามากพอที่จะทดสอบการเขียนหน่วยรหัสของฉัน"

เมื่อฉันเขียนข้อสอบพวกเขาป่องๆสิ่งที่หนักซึ่งสนับสนุนให้ฉันคิดว่าฉันควรจะเขียนบททดสอบเมื่อฉันรู้ว่าพวกเขาต้องการเท่านั้น

เร็ว ๆ นี้ผมได้รับการส่งเสริมให้ใช้ทดสอบขับเคลื่อนการพัฒนาและฉันพบว่ามันจะเปิดเผยสมบูรณ์

ตอนนี้ผมเชื่อมั่นว่าผม"ไม่ได้มีเวลาที่จะ ได้ ทดสอบหน่วยเขียน"

จากประสบการณ์ของผมโดยการพัฒนากับการทดสอบในใจคุณท้ายด้วยอินเตอร์เฟซที่สะอาดชั้นเรียนเพ่งความสนใจมากขึ้นและโมดูลและโดยทั่วไปมากขึ้นSOLIDรหัสทดสอบ

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

หากมีสิ่งหนึ่งที่ฉันค้นพบในช่วงหลายปีที่ผ่านมาถ้าคุณกำลังทำงานในช่วงเริ่มต้นคุณต้องคล่องแคล่วและไม่ใช่แค่ในแง่วิธีการพัฒนาซอฟต์แวร์ สำหรับผม TDD เป็นเครื่องมือสำคัญที่ช่วยให้การเริ่มต้นและการเข้าพักเปรียว


1

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


1

แนวปฏิบัติที่ดีที่สุดคืออุตสาหกรรมทั่ว ๆ ไปไม่ว่าคุณจะทำเว็บไซต์ของคุณยายหรือสร้างระบบนำทางสำหรับดาวเทียม พวกเขาควรตามมาด้วยผู้ที่ต้องการพิจารณาตนเองว่าเป็นมืออาชีพนั่นคือเหตุผลที่พวกเขาถูกเรียกว่าแนวปฏิบัติที่ดีที่สุด


คุณอาจประหลาดใจที่ได้ยินว่าแนวทางปฏิบัติที่ดีนั้นไม่ได้ครอบคลุมทุกอุตสาหกรรม thedailywtf.com
Gary Willoughby

@Gary ของมันมากขึ้นของอุตสาหกรรมทั้งในทางทฤษฎีหรือส่วนหนึ่งของโลกยูโทเปียว่าโครงการที่มีระยะเวลาที่สมจริงและ html ที่มีความหมายและผู้จัดการยอมรับว่าพวกเขาขาดความรู้ทางเทคนิคที่จะช่วยให้พวกเขาตัดสินใจได้ดีขึ้น ...
Ryathal

"วิธีปฏิบัติที่ดีที่สุด" มักจะหมายถึงการทำสิ่งที่คนอื่นทำได้โดยให้ผลลัพธ์โดยเฉลี่ย บริษัท ที่จัดตั้งขึ้นโดยเฉลี่ยนั้นทำได้ดีพอสมควร แต่การเริ่มต้นเทคโนโลยีโดยเฉลี่ยนั้นไม่ได้ไกลเกินกว่าที่จะพังได้
David Thornley

1
@ DavidThornley - ไม่ฉันคิดว่า "Best Practice" เป็นสิ่งที่คนส่วนใหญ่เชื่อว่าพวกเขาควรทำไม่ว่าพวกเขาจะมีเวลาพลังงานหรือการอนุมัติการจัดการที่จะทำ * 8 ')
ทำเครื่องหมายบูธ

@ Mark บูธ: โดยทั่วไปเมื่อฉันได้ยินวลีมันหมายถึงสิ่งที่ฉันพูด แน่นอน YMMV อย่างไรก็ตาม Ryathal หมายถึงโลกที่โครงการมีระยะเวลาที่เป็นจริงและไม่จำเป็นต้องทำในธุรกิจ การมีผลิตภัณฑ์ออกมาช้ากว่าสองเดือนอาจไม่สมเหตุผลหรือเป็นอันตราย (โดยเฉพาะการเริ่มต้นที่อาจเสี่ยงต่อการหมดเงิน) และน่ารำคาญบ่อยครั้งที่มีกรณีธุรกิจที่แข็งแกร่ง ฉันพบว่ามันยากที่จะเชื่อใน "วิธีปฏิบัติที่ดีที่สุด" ที่สามารถลงโทษ บริษัท ได้
David Thornley

1

ใช่บางครั้งเพิ่งเริ่มต้นตัดมุมและไม่ impliment การทดสอบที่เหมาะสม บางครั้งสิ่งนี้เป็นปัญหา (สำหรับโครงการขนาดเล็กเพียงพอหรือเมื่อเวลา / เงินมีความสำคัญ)

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


1

พวกเขาควร? ใช่. พวกเขาทำเช่นนั้นในทางปฏิบัติไม่บ่อยเท่าที่ควร

สาเหตุที่พบบ่อยที่สุดคือการขาดทรัพยากรซึ่งรวมถึงเวลาของนักพัฒนาค่าใช้จ่ายในการจ้างผู้ทดสอบที่ทุ่มเทหรือไม่เต็มเวลาค่าใช้จ่ายในการตั้งค่าสภาพแวดล้อมการทดสอบและอื่น ๆ คุณสามารถค้นหาข้อแก้ตัวเหล่านี้ได้ในการตั้งค่าขององค์กรขนาดใหญ่เช่นเดียวกับการสตาร์ทอัพขนาดเล็ก

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

ในบาง บริษัท จะมีบางคนที่ทำการทดสอบ โดยปกติสิ่งนี้จะเป็นนักพัฒนาที่ได้รับการว่าจ้างและโดยปกติแล้วพวกเขาจะเป็นคนที่มีประสบการณ์และอาจเป็นคนที่มีส่วนได้ส่วนเสียทางการเงินใน บริษัท บริษัท ที่เริ่มต้นด้วย "DNA" นี้อาจทำการทดสอบตั้งแต่เริ่มต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.